@@ -20,11 +20,13 @@ package org.testingisdocumenting.webtau.expectation.equality.handlers
2020import org.junit.Test
2121import org.testingisdocumenting.webtau.data.ValuePath
2222import org.testingisdocumenting.webtau.expectation.equality.CompareToComparator
23+ import org.testingisdocumenting.webtau.testutils.TestConsoleOutput
2324
2425import static org.junit.Assert.*
2526import static org.testingisdocumenting.webtau.Matchers.*
2627import static org.testingisdocumenting.webtau.WebTauCore.*
2728import static org.testingisdocumenting.webtau.expectation.equality.CompareToComparator.*
29+ import static org.testingisdocumenting.webtau.testutils.TestConsoleOutput.runExpectExceptionAndValidateOutput
2830
2931class IterableCompareToHandlerTest {
3032 private static final ValuePath actualPath = createActualPath(" value" )
@@ -57,34 +59,39 @@ class IterableCompareToHandlerTest {
5759
5860 @Test
5961 void " should report mismatched elements" () {
60- CompareToComparator comparator = comparator(AssertionMode . EQUAL )
61- comparator. compareUsingEqualOnly(actualPath, [1 , 2 , 5 ], [3 , 2 , 4 ])
62-
63- assertEquals (
64- " value[0]: actual: 1 <java.lang.Integer>\n " +
65- " expected: 3 <java.lang.Integer>\n " +
66- " value[2]: actual: 5 <java.lang.Integer>\n " +
67- " expected: 4 <java.lang.Integer>" , comparator. generateEqualMismatchReport(). toString())
62+ runExpectExceptionAndValidateOutput(AssertionError , " X failed expecting list to equal [3, 2, 4]:\n " +
63+ " list[0]: actual: 1 <java.lang.Integer>\n " +
64+ " expected: 3 <java.lang.Integer>\n " +
65+ " list[2]: actual: 5 <java.lang.Integer>\n " +
66+ " expected: 4 <java.lang.Integer> (Xms)\n " +
67+ " \n " +
68+ " [**1**, 2, **5**]" ) {
69+ actual([1 , 2 , 5 ], " list" ). should(equal([3 , 2 , 4 ]))
70+ }
6871 }
6972
7073 @Test
7174 void " should report missing elements" () {
72- CompareToComparator comparator = comparator(AssertionMode . EQUAL )
73- comparator. compareUsingEqualOnly(actualPath, [1 , 2 ], [1 , 2 , 3 ])
74-
75- assertEquals (" missing, but expected values:\n " +
76- " \n " +
77- " value[2]: 3" , comparator. generateEqualMismatchReport(). toString())
75+ runExpectExceptionAndValidateOutput(AssertionError , " X failed expecting list to equal [1, 2, 4, 6, 8, 10, 12, 43, 1, 5]:\n " +
76+ " missing, but expected values:\n " +
77+ " \n " +
78+ " [4, 6, 8, 10, 12, 43, 1, 5] (Xms)\n " +
79+ " \n " +
80+ " [1, 2]" ) {
81+ actual([1 , 2 ], " list" ). should(equal([1 , 2 , 4 , 6 , 8 , 10 , 12 , 43 , 1 , 5 ]))
82+ }
7883 }
7984
8085 @Test
8186 void " should report extra elements" () {
82- CompareToComparator comparator = comparator(AssertionMode . EQUAL )
83- comparator. compareUsingEqualOnly(actualPath, [1 , 2 , 3 ], [1 , 2 ])
84-
85- assertEquals (" unexpected values:\n " +
86- " \n " +
87- " value[2]: 3" , comparator. generateEqualMismatchReport(). toString())
87+ runExpectExceptionAndValidateOutput(AssertionError , " X failed expecting list to equal [1, 2]:\n " +
88+ " unexpected values:\n " +
89+ " \n " +
90+ " [3, 4, 12, 43, 23] (Xms)\n " +
91+ " \n " +
92+ " [1, 2, 3, 4, 12, 43, 23]" ) {
93+ actual([1 , 2 , 3 , 4 , 12 , 43 , 23 ], " list" ). should(equal([1 , 2 ]))
94+ }
8895 }
8996
9097 @Test
0 commit comments