1616
1717package org .testingisdocumenting .webtau .expectation .contain ;
1818
19+ import org .testingisdocumenting .webtau .data .converters .ValueConverter ;
1920import org .testingisdocumenting .webtau .data .render .DataRenderers ;
2021import org .testingisdocumenting .webtau .data .ValuePath ;
2122import org .testingisdocumenting .webtau .expectation .ExpectedValuesAware ;
3334public class ContainAllMatcher implements ValueMatcher , ExpectedValuesAware {
3435 private ContainAnalyzer containAnalyzer ;
3536 private final Collection <Object > expectedList ;
36- private Boolean isNegative ;
3737 private List <Object > expectedThatFailContains ;
3838
3939 public ContainAllMatcher (Collection <Object > expected ) {
4040 this .expectedList = expected ;
4141 }
4242
43+ @ Override
44+ public ValueConverter valueConverter () {
45+ return containAnalyzer .createValueConverter ();
46+ }
47+
4348 @ Override
4449 public Set <ValuePath > matchedPaths () {
4550 return containAnalyzer .generateMatchPaths ();
@@ -52,6 +57,7 @@ public Set<ValuePath> mismatchedPaths() {
5257
5358 @ Override
5459 public TokenizedMessage matchingTokenizedMessage (ValuePath actualPath , Object actual ) {
60+ containAnalyzer = ContainAnalyzer .containAnalyzer ();
5561 return tokenizedMessage ().matcher ("to contain all" ).valueFirstLinesOnly (expectedList );
5662 }
5763
@@ -67,10 +73,8 @@ public TokenizedMessage mismatchedTokenizedMessage(ValuePath actualPath, Object
6773
6874 @ Override
6975 public boolean matches (ValuePath actualPath , Object actual ) {
70- containAnalyzer = ContainAnalyzer .containAnalyzer ();
71- isNegative = false ;
72-
7376 expectedThatFailContains = new ArrayList <>();
77+ containAnalyzer .resetReportData ();
7478
7579 for (Object oneOfExpected : expectedList ) {
7680 boolean expectedContains = containAnalyzer .contains (actualPath , actual , oneOfExpected );
@@ -84,6 +88,7 @@ public boolean matches(ValuePath actualPath, Object actual) {
8488
8589 @ Override
8690 public TokenizedMessage negativeMatchingTokenizedMessage (ValuePath actualPath , Object actual ) {
91+ containAnalyzer = ContainAnalyzer .containAnalyzer ();
8792 return tokenizedMessage ().matcher ("to not contain all" ).valueFirstLinesOnly (expectedList );
8893 }
8994
@@ -99,8 +104,7 @@ public TokenizedMessage negativeMismatchedTokenizedMessage(ValuePath actualPath,
99104
100105 @ Override
101106 public boolean negativeMatches (ValuePath actualPath , Object actual ) {
102- containAnalyzer = ContainAnalyzer .containAnalyzer ();
103- isNegative = true ;
107+ containAnalyzer .resetReportData ();
104108
105109 boolean allContains = true ;
106110 for (Object oneOfExpected : expectedList ) {
0 commit comments