diff options
Diffstat (limited to 'projects/SelfTest/Baselines/xml.sw.approved.txt')
-rw-r--r-- | projects/SelfTest/Baselines/xml.sw.approved.txt | 9569 |
1 files changed, 9569 insertions, 0 deletions
diff --git a/projects/SelfTest/Baselines/xml.sw.approved.txt b/projects/SelfTest/Baselines/xml.sw.approved.txt new file mode 100644 index 0000000..c0af02f --- /dev/null +++ b/projects/SelfTest/Baselines/xml.sw.approved.txt @@ -0,0 +1,9569 @@ +<Catch name="CatchSelfTest"> + <Group name="CatchSelfTest"> + <TestCase name="toString(enum)"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e0) == "0" + </Original> + <Expanded> + "0" == "0" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e1) == "1" + </Original> + <Expanded> + "1" == "1" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString(enum w/operator<<)"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e0) == "E2{0}" + </Original> + <Expanded> + "E2{0}" == "E2{0}" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e1) == "E2{1}" + </Original> + <Expanded> + "E2{1}" == "E2{1}" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString(enum class)"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e0) == "0" + </Original> + <Expanded> + "0" == "0" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e1) == "1" + </Original> + <Expanded> + "1" == "1" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString(enum class w/operator<<)"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e0) == "E2/V0" + </Original> + <Expanded> + "E2/V0" == "E2/V0" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e1) == "E2/V1" + </Original> + <Expanded> + "E2/V1" == "E2/V1" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" > + <Original> + Catch::toString(e3) == "Unknown enum value 10" + </Original> + <Expanded> + "Unknown enum value 10" +== +"Unknown enum value 10" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Some simple comparisons between doubles"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d == Approx( 1.23 ) + </Original> + <Expanded> + 1.23 == Approx( 1.23 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d != Approx( 1.22 ) + </Original> + <Expanded> + 1.23 != Approx( 1.22 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d != Approx( 1.24 ) + </Original> + <Expanded> + 1.23 != Approx( 1.24 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + Approx( d ) == 1.23 + </Original> + <Expanded> + Approx( 1.23 ) == 1.23 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + Approx( d ) != 1.22 + </Original> + <Expanded> + Approx( 1.23 ) != 1.22 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + Approx( d ) != 1.24 + </Original> + <Expanded> + Approx( 1.23 ) != 1.24 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Approximate comparisons with different epsilons"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d != Approx( 1.231 ) + </Original> + <Expanded> + 1.23 != Approx( 1.231 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d == Approx( 1.231 ).epsilon( 0.1 ) + </Original> + <Expanded> + 1.23 == Approx( 1.231 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Approximate comparisons with floats"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 1.23f == Approx( 1.23f ) + </Original> + <Expanded> + 1.23f == Approx( 1.2300000191 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 0.0f == Approx( 0.0f ) + </Original> + <Expanded> + 0.0f == Approx( 0.0 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Approximate comparisons with ints"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 1 == Approx( 1 ) + </Original> + <Expanded> + 1 == Approx( 1.0 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 0 == Approx( 0 ) + </Original> + <Expanded> + 0 == Approx( 0.0 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Approximate comparisons with mixed numeric types"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 1.0f == Approx( 1 ) + </Original> + <Expanded> + 1.0f == Approx( 1.0 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 0 == Approx( dZero) + </Original> + <Expanded> + 0 == Approx( 0.0 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 0 == Approx( dSmall ).epsilon( 0.001 ) + </Original> + <Expanded> + 0 == Approx( 0.00001 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + 1.234f == Approx( dMedium ) + </Original> + <Expanded> + 1.234f == Approx( 1.234 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + dMedium == Approx( 1.234f ) + </Original> + <Expanded> + 1.234 == Approx( 1.2339999676 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Use a custom approx"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d == approx( 1.23 ) + </Original> + <Expanded> + 1.23 == Approx( 1.23 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d == approx( 1.22 ) + </Original> + <Expanded> + 1.23 == Approx( 1.22 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d == approx( 1.24 ) + </Original> + <Expanded> + 1.23 == Approx( 1.24 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + d != approx( 1.25 ) + </Original> + <Expanded> + 1.23 != Approx( 1.25 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + approx( d ) == 1.23 + </Original> + <Expanded> + Approx( 1.23 ) == 1.23 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + approx( d ) == 1.22 + </Original> + <Expanded> + Approx( 1.23 ) == 1.22 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + approx( d ) == 1.24 + </Original> + <Expanded> + Approx( 1.23 ) == 1.24 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + approx( d ) != 1.25 + </Original> + <Expanded> + Approx( 1.23 ) != 1.25 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Approximate PI"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + divide( 22, 7 ) == Approx( 3.141 ).epsilon( 0.001 ) + </Original> + <Expanded> + 3.1428571429 == Approx( 3.141 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" > + <Original> + divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 ) + </Original> + <Expanded> + 3.1428571429 != Approx( 3.141 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="A METHOD_AS_TEST_CASE based test run that succeeds"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" > + <Original> + s == "hello" + </Original> + <Expanded> + "hello" == "hello" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="A METHOD_AS_TEST_CASE based test run that fails"> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" > + <Original> + s == "world" + </Original> + <Expanded> + "hello" == "world" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="A TEST_CASE_METHOD based test run that succeeds"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" > + <Original> + m_a == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="A TEST_CASE_METHOD based test run that fails"> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" > + <Original> + m_a == 2 + </Original> + <Expanded> + 1 == 2 + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Equality checks that should succeed"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven == 7 + </Original> + <Expanded> + 7 == 7 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one == Approx( 9.1f ) + </Original> + <Expanded> + 9.1f == Approx( 9.1000003815 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.double_pi == Approx( 3.1415926535 ) + </Original> + <Expanded> + 3.1415926535 == Approx( 3.1415926535 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello == "hello" + </Original> + <Expanded> + "hello" == "hello" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + "hello" == data.str_hello + </Original> + <Expanded> + "hello" == "hello" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + x == Approx( 1.3 ) + </Original> + <Expanded> + 1.3 == Approx( 1.3 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Equality checks that should fail"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven == 6 + </Original> + <Expanded> + 7 == 6 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven == 8 + </Original> + <Expanded> + 7 == 8 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven == 0 + </Original> + <Expanded> + 7 == 0 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one == Approx( 9.11f ) + </Original> + <Expanded> + 9.1f == Approx( 9.1099996567 ) + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one == Approx( 9.0f ) + </Original> + <Expanded> + 9.1f == Approx( 9.0 ) + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one == Approx( 1 ) + </Original> + <Expanded> + 9.1f == Approx( 1.0 ) + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one == Approx( 0 ) + </Original> + <Expanded> + 9.1f == Approx( 0.0 ) + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.double_pi == Approx( 3.1415 ) + </Original> + <Expanded> + 3.1415926535 == Approx( 3.1415 ) + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello == "goodbye" + </Original> + <Expanded> + "hello" == "goodbye" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello == "hell" + </Original> + <Expanded> + "hello" == "hell" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello == "hello1" + </Original> + <Expanded> + "hello" == "hello1" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello.size() == 6 + </Original> + <Expanded> + 5 == 6 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + x == Approx( 1.301 ) + </Original> + <Expanded> + 1.3 == Approx( 1.301 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Inequality checks that should succeed"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven != 6 + </Original> + <Expanded> + 7 != 6 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven != 8 + </Original> + <Expanded> + 7 != 8 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one != Approx( 9.11f ) + </Original> + <Expanded> + 9.1f != Approx( 9.1099996567 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one != Approx( 9.0f ) + </Original> + <Expanded> + 9.1f != Approx( 9.0 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one != Approx( 1 ) + </Original> + <Expanded> + 9.1f != Approx( 1.0 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one != Approx( 0 ) + </Original> + <Expanded> + 9.1f != Approx( 0.0 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.double_pi != Approx( 3.1415 ) + </Original> + <Expanded> + 3.1415926535 != Approx( 3.1415 ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello != "goodbye" + </Original> + <Expanded> + "hello" != "goodbye" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello != "hell" + </Original> + <Expanded> + "hello" != "hell" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello != "hello1" + </Original> + <Expanded> + "hello" != "hello1" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello.size() != 6 + </Original> + <Expanded> + 5 != 6 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Inequality checks that should fail"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven != 7 + </Original> + <Expanded> + 7 != 7 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one != Approx( 9.1f ) + </Original> + <Expanded> + 9.1f != Approx( 9.1000003815 ) + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.double_pi != Approx( 3.1415926535 ) + </Original> + <Expanded> + 3.1415926535 != Approx( 3.1415926535 ) + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello != "hello" + </Original> + <Expanded> + "hello" != "hello" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello.size() != 5 + </Original> + <Expanded> + 5 != 5 + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Ordering comparison checks that should succeed"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven < 8 + </Original> + <Expanded> + 7 < 8 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven > 6 + </Original> + <Expanded> + 7 > 6 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven > 0 + </Original> + <Expanded> + 7 > 0 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven > -1 + </Original> + <Expanded> + 7 > -1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven >= 7 + </Original> + <Expanded> + 7 >= 7 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven >= 6 + </Original> + <Expanded> + 7 >= 6 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven <= 7 + </Original> + <Expanded> + 7 <= 7 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven <= 8 + </Original> + <Expanded> + 7 <= 8 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one > 9 + </Original> + <Expanded> + 9.1f > 9 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one < 10 + </Original> + <Expanded> + 9.1f < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one < 9.2 + </Original> + <Expanded> + 9.1f < 9.2 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello <= "hello" + </Original> + <Expanded> + "hello" <= "hello" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello >= "hello" + </Original> + <Expanded> + "hello" >= "hello" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello < "hellp" + </Original> + <Expanded> + "hello" < "hellp" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello < "zebra" + </Original> + <Expanded> + "hello" < "zebra" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello > "hellm" + </Original> + <Expanded> + "hello" > "hellm" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello > "a" + </Original> + <Expanded> + "hello" > "a" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Ordering comparison checks that should fail"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven > 7 + </Original> + <Expanded> + 7 > 7 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven < 7 + </Original> + <Expanded> + 7 < 7 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven > 8 + </Original> + <Expanded> + 7 > 8 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven < 6 + </Original> + <Expanded> + 7 < 6 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven < 0 + </Original> + <Expanded> + 7 < 0 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven < -1 + </Original> + <Expanded> + 7 < -1 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven >= 8 + </Original> + <Expanded> + 7 >= 8 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.int_seven <= 6 + </Original> + <Expanded> + 7 <= 6 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one < 9 + </Original> + <Expanded> + 9.1f < 9 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one > 10 + </Original> + <Expanded> + 9.1f > 10 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.float_nine_point_one > 9.2 + </Original> + <Expanded> + 9.1f > 9.2 + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello > "hello" + </Original> + <Expanded> + "hello" > "hello" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello < "hello" + </Original> + <Expanded> + "hello" < "hello" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello > "hellp" + </Original> + <Expanded> + "hello" > "hellp" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello > "z" + </Original> + <Expanded> + "hello" > "z" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello < "hellm" + </Original> + <Expanded> + "hello" < "hellm" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello < "a" + </Original> + <Expanded> + "hello" < "a" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello >= "z" + </Original> + <Expanded> + "hello" >= "z" + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + data.str_hello <= "a" + </Original> + <Expanded> + "hello" <= "a" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Comparisons with int literals don't warn when mixing signed/ unsigned"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + i == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + ui == 2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + l == 3 + </Original> + <Expanded> + 3 == 3 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + ul == 4 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + c == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + uc == 6 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 1 == i + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 2 == ui + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 3 == l + </Original> + <Expanded> + 3 == 3 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 4 == ul + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 5 == c + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 6 == uc + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + (std::numeric_limits<unsigned long>::max)() > ul + </Original> + <Expanded> + 18446744073709551615 (0x<hex digits>) +> +4 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="comparisons between int variables"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + long_var == unsigned_char_var + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + long_var == unsigned_short_var + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + long_var == unsigned_int_var + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + long_var == unsigned_long_var + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="comparisons between const int variables"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + unsigned_char_var == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + unsigned_short_var == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + unsigned_int_var == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + unsigned_long_var == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Comparisons between unsigned ints and negative signed ints match c++ standard behaviour"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + ( -1 > 2u ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + -1 > 2u + </Original> + <Expanded> + -1 > 2 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + ( 2u < -1 ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 2u < -1 + </Original> + <Expanded> + 2 < -1 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + ( minInt > 2u ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + minInt > 2u + </Original> + <Expanded> + -2147483648 > 2 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Comparisons between ints where one side is computed"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + 54 == 6*9 + </Original> + <Expanded> + 54 == 54 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Pointers can be compared to null"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + p == nullptr + </Original> + <Expanded> + NULL == nullptr + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + p == pNULL + </Original> + <Expanded> + NULL == NULL + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + p != nullptr + </Original> + <Expanded> + 0x<hex digits> != nullptr + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + cp != nullptr + </Original> + <Expanded> + 0x<hex digits> != nullptr + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + cpc != nullptr + </Original> + <Expanded> + 0x<hex digits> != nullptr + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + returnsNull() == nullptr + </Original> + <Expanded> + {null string} == nullptr + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + returnsConstNull() == nullptr + </Original> + <Expanded> + {null string} == nullptr + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + nullptr != p + </Original> + <Expanded> + nullptr != 0x<hex digits> + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="'Not' checks that should succeed"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + false == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + true == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !false + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !false + </Original> + <Expanded> + !false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !falseValue + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !falseValue + </Original> + <Expanded> + !false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !(1 == 2) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !1 == 2 + </Original> + <Expanded> + !(1 == 2) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="'Not' checks that should fail"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + false != false + </Original> + <Expanded> + false != false + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + true != true + </Original> + <Expanded> + true != true + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !true + </Original> + <Expanded> + false + </Expanded> + </Expression> + <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !true + </Original> + <Expanded> + !true + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !trueValue + </Original> + <Expanded> + false + </Expanded> + </Expression> + <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !trueValue + </Original> + <Expanded> + !true + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !(1 == 1) + </Original> + <Expanded> + false + </Expanded> + </Expression> + <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" > + <Original> + !1 == 1 + </Original> + <Expanded> + !(1 == 1) + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="When checked exceptions are thrown they can be expected or unexpected"> + <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows() + </Original> + <Expanded> + thisThrows() + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisDoesntThrow() + </Original> + <Expanded> + thisDoesntThrow() + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_THROWS" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows() + </Original> + <Expanded> + thisThrows() + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test"> + <Expression success="false" type="CHECK_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows() + </Original> + <Expanded> + thisThrows() + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + expected exception + </Exception> + </Expression> + <Expression success="false" type="CHECK_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisDoesntThrow() + </Original> + <Expanded> + thisDoesntThrow() + </Expanded> + </Expression> + <Expression success="false" type="CHECK_NOTHROW" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows() + </Original> + <Expanded> + thisThrows() + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + expected exception + </Exception> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="When unchecked exceptions are thrown directly they are always failures"> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + unexpected exception + </Exception> + <OverallResult success="false"/> + </TestCase> + <TestCase name="An unchecked exception reports the line of the last assertion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + 1 == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="false" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + {Unknown expression after the reported line} + </Original> + <Expanded> + {Unknown expression after the reported line} + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + unexpected exception + </Exception> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="When unchecked exceptions are thrown from sections they are always failures"> + <Section name="section name"> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + unexpected exception + </Exception> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <OverallResult success="false"/> + </TestCase> + <TestCase name="When unchecked exceptions are thrown from functions they are always failures"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows() == 0 + </Original> + <Expanded> + thisThrows() == 0 + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + expected exception + </Exception> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="When unchecked exceptions are thrown during a REQUIRE the test should abort fail"> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows() == 0 + </Original> + <Expanded> + thisThrows() == 0 + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + expected exception + </Exception> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="When unchecked exceptions are thrown during a CHECK the test should abort and fail"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows() == 0 + </Original> + <Expanded> + thisThrows() == 0 + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + expected exception + </Exception> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="When unchecked exceptions are thrown, but caught, they do not affect the test"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Non-std exceptions can be translated"> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + custom exception + </Exception> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Custom std-exceptions can be custom translated"> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + custom std exception + </Exception> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Custom exceptions can be translated when testing for nothrow"> + <Expression success="false" type="REQUIRE_NOTHROW" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + throwCustom() + </Original> + <Expanded> + throwCustom() + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + custom exception - not std + </Exception> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Custom exceptions can be translated when testing for throwing as something else"> + <Expression success="false" type="REQUIRE_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + throwCustom() + </Original> + <Expanded> + throwCustom() + </Expanded> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + custom exception - not std + </Exception> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Unexpected exceptions can be translated"> + <Exception filename="projects/SelfTest/ExceptionTests.cpp" > + 3.14 + </Exception> + <OverallResult success="false"/> + </TestCase> + <TestCase name="NotImplemented exception"> + <Expression success="true" type="REQUIRE_THROWS" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisFunctionNotImplemented( 7 ) + </Original> + <Expanded> + thisFunctionNotImplemented( 7 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Exception messages can be tested for"> + <Section name="exact match"> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), "expected exception" + </Original> + <Expanded> + thisThrows(), "expected exception" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="different case"> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No ) + </Original> + <Expanded> + thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No ) + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="wildcarded"> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), StartsWith( "expected" ) + </Original> + <Expanded> + thisThrows(), StartsWith( "expected" ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), EndsWith( "exception" ) + </Original> + <Expanded> + thisThrows(), EndsWith( "exception" ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), Contains( "except" ) + </Original> + <Expanded> + thisThrows(), Contains( "except" ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), Contains( "exCept", Catch::CaseSensitive::No ) + </Original> + <Expanded> + thisThrows(), Contains( "exCept", Catch::CaseSensitive::No ) + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Mismatching exception messages failing the test"> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), "expected exception" + </Original> + <Expanded> + thisThrows(), "expected exception" + </Expanded> + </Expression> + <Expression success="false" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" > + <Original> + thisThrows(), "should fail" + </Original> + <Expanded> + expected exception + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Generators over two ranges"> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 200 == 200 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 202 == 202 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 204 == 204 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 206 == 206 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 208 == 208 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 210 == 210 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 212 == 212 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 30 == 30 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 40 == 40 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 42 == 42 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( i, 2 ) == i*2 + </Original> + <Expanded> + 72 == 72 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + multiply( j, 2 ) == j*2 + </Original> + <Expanded> + 214 == 214 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Generator over a range of pairs"> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + i->first == i->second-1 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" > + <Original> + i->first == i->second-1 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="INFO and WARN do not abort tests"> + <Info> + this is a message + </Info> + <Warning> + this is a warning + </Warning> + <OverallResult success="true"/> + </TestCase> + <TestCase name="SUCCEED counts as a test pass"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="INFO gets logged on failure"> + <Info> + this message should be logged + </Info> + <Info> + so should this + </Info> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + a == 1 + </Original> + <Expanded> + 2 == 1 + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="INFO gets logged on failure, even if captured before successful assertions"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + a == 2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Info> + this message should be logged + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + a == 1 + </Original> + <Expanded> + 2 == 1 + </Expanded> + </Expression> + <Info> + and this, but later + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + a == 0 + </Original> + <Expanded> + 2 == 0 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + a == 2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="FAIL aborts the test"> + <Failure> + This is a failure + </Failure> + <OverallResult success="false"/> + </TestCase> + <TestCase name="FAIL does not require an argument"> + <Failure/> + <OverallResult success="false"/> + </TestCase> + <TestCase name="SUCCESS does not require an argument"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Output from all sections is reported"> + <Section name="one"> + <Failure> + Message from section one + </Failure> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <Section name="two"> + <Failure> + Message from section two + </Failure> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Standard output from all sections is reported"> + <Section name="one"> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <Section name="two"> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <OverallResult success="false"/> + </TestCase> + <TestCase name="SCOPED_INFO is reset for each loop"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 0 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 1 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 2 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 3 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 4 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 5 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 6 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 7 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 8 < 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 9 < 10 + </Expanded> + </Expression> + <Info> + current counter 10 + </Info> + <Info> + i := 10 + </Info> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + i < 10 + </Original> + <Expanded> + 10 < 10 + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="The NO_FAIL macro reports a failure but does not fail the test"> + <Expression success="false" type="CHECK_NOFAIL" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + 1 == 2 + </Original> + <Expanded> + 1 == 2 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="just info"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="just failure"> + <Failure> + Previous info should not be seen + </Failure> + <OverallResult success="false"/> + </TestCase> + <TestCase name="sends information to INFO"> + <Info> + hi + </Info> + <Info> + i := 7 + </Info> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" > + <Original> + false + </Original> + <Expanded> + false + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Pointers can be converted to strings"> + <Warning> + actual address of p: 0x<hex digits> + </Warning> + <Warning> + toString(p): 0x<hex digits> + </Warning> + <OverallResult success="true"/> + </TestCase> + <TestCase name="random SECTION tests"> + <Section name="s1" description="doesn't equal"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + a != b + </Original> + <Expanded> + 1 != 2 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + b != a + </Original> + <Expanded> + 2 != 1 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="s2" description="not equal"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + a != b + </Original> + <Expanded> + 1 != 2 + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="nested SECTION tests"> + <Section name="s1" description="doesn't equal"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + a != b + </Original> + <Expanded> + 1 != 2 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + b != a + </Original> + <Expanded> + 2 != 1 + </Expanded> + </Expression> + <Section name="s2" description="not equal"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + a != b + </Original> + <Expanded> + 1 != 2 + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="more nested SECTION tests"> + <Section name="s1" description="doesn't equal"> + <Section name="s2" description="equal"> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + a == b + </Original> + <Expanded> + 1 == 2 + </Expanded> + </Expression> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <Section name="s1" description="doesn't equal"> + <Section name="s3" description="not equal"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + a != b + </Original> + <Expanded> + 1 != 2 + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="s1" description="doesn't equal"> + <Section name="s4" description="less than"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + a < b + </Original> + <Expanded> + 1 < 2 + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="false"/> + </TestCase> + <TestCase name="even more nested SECTION tests"> + <Section name="c"> + <Section name="d (leaf)"> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="c"> + <Section name="e (leaf)"> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="f (leaf)"> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="looped SECTION tests"> + <Section name="s1" description="b is currently: 0"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + b > a + </Original> + <Expanded> + 0 > 1 + </Expanded> + </Expression> + <OverallResults successes="0" failures="1" expectedFailures="0"/> + </Section> + <OverallResult success="false"/> + </TestCase> + <TestCase name="looped tests"> + <Info> + Testing if fib[0] (1) is even + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 1 == 0 + </Expanded> + </Expression> + <Info> + Testing if fib[1] (1) is even + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 1 == 0 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Info> + Testing if fib[3] (3) is even + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 1 == 0 + </Expanded> + </Expression> + <Info> + Testing if fib[4] (5) is even + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 1 == 0 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Info> + Testing if fib[6] (13) is even + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 1 == 0 + </Expanded> + </Expression> + <Info> + Testing if fib[7] (21) is even + </Info> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + ( fib[i] % 2 ) == 0 + </Original> + <Expanded> + 1 == 0 + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Sends stuff to stdout and stderr"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="null strings"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + makeString( false ) != static_cast<char*>(nullptr) + </Original> + <Expanded> + "valid string" != {null string} + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + makeString( true ) == static_cast<char*>(nullptr) + </Original> + <Expanded> + {null string} == {null string} + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="checkedIf"> + <Expression success="true" type="CHECKED_IF" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + flag + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testCheckedIf( true ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="checkedIf, failing"> + <Expression success="false" type="CHECKED_IF" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + flag + </Original> + <Expanded> + false + </Expanded> + </Expression> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testCheckedIf( false ) + </Original> + <Expanded> + false + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="checkedElse"> + <Expression success="true" type="CHECKED_ELSE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + flag + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testCheckedElse( true ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="checkedElse, failing"> + <Expression success="false" type="CHECKED_ELSE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + flag + </Original> + <Expanded> + false + </Expanded> + </Expression> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testCheckedElse( false ) + </Original> + <Expanded> + false + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="xmlentitycheck"> + <Section name="embedded xml" description="<test>it should be possible to embed xml characters, such as <, " or &, or even whole <xml>documents</xml> within an attribute</test>"> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="encoded chars" description="these should all be encoded: &&&"""<<<&"<<&""> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="send a single char to INFO"> + <Info> + 3 + </Info> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + false + </Original> + <Expanded> + false + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="atomic if"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + x == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="String matchers"> + <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), Contains( "string" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" contains: "string" + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), Contains( "abc" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" contains: "abc" + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), StartsWith( "this" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" starts with: "this" + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), EndsWith( "substring" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ends with: "substring" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Contains string matcher"> + <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), Contains( "not there" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" contains: "not there" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="StartsWith string matcher"> + <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), StartsWith( "string" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" starts with: "string" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="EndsWith string matcher"> + <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), EndsWith( "this" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ends with: "this" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Equals string matcher"> + <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), Equals( "something else" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" equals: "something else" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Equals string matcher, with NULL"> + <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + "", Equals(nullptr) + </Original> + <Expanded> + "" equals: "" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="AllOf matcher"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), AllOf( Catch::Contains( "string" ), Catch::Contains( "abc" ) ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="AnyOf matcher"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), AnyOf( Catch::Contains( "string" ), Catch::Contains( "not there" ) ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ( contains: "string" or contains: "not there" ) + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), AnyOf( Catch::Contains( "not there" ), Catch::Contains( "string" ) ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ( contains: "not there" or contains: "string" ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Equals"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), Equals( "this string contains 'abc' as a substring" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" equals: "this string contains 'abc' as a substring" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Matchers can be (AllOf) composed with the && operator"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), Contains( "string" ) && Contains( "abc" ) && Contains( "substring" ) && Contains( "contains" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" and contains: "substring" and contains: "contains" ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Matchers can be (AnyOf) composed with the || operator"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), Contains( "string" ) || Contains( "different" ) || Contains( "random" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ( contains: "string" or contains: "different" or contains: "random" ) + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching2(), Contains( "string" ) || Contains( "different" ) || Contains( "random" ) + </Original> + <Expanded> + "some completely different text that contains one common word" ( contains: "string" or contains: "different" or contains: "random" ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Matchers can be composed with both && and ||"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "substring" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "substring" ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Matchers can be composed with both && and || - failing"> + <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "random" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "random" ) + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Matchers can be negated (Not) with the ! operator"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), !Contains( "different" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" not contains: "different" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Matchers can be negated (Not) with the ! operator - failing"> + <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + testStringForMatching(), !Contains( "substring" ) + </Original> + <Expanded> + "this string contains 'abc' as a substring" not contains: "substring" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="Factorials are computed"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + Factorial(0) == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + Factorial(1) == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + Factorial(2) == 2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + Factorial(3) == 6 + </Original> + <Expanded> + 6 == 6 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + Factorial(10) == 3628800 + </Original> + <Expanded> + 3628800 (0x<hex digits>) == 3628800 (0x<hex digits>) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="An empty test with no assertions"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Nice descriptive name"> + <Warning> + This one ran + </Warning> + <OverallResult success="true"/> + </TestCase> + <TestCase name="first tag"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="second tag"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="vectors can be sized and resized"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 5 + </Original> + <Expanded> + 5 >= 5 + </Expanded> + </Expression> + <Section name="resizing bigger changes size and capacity"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 10 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 10 + </Original> + <Expanded> + 10 >= 10 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 5 + </Original> + <Expanded> + 5 >= 5 + </Expanded> + </Expression> + <Section name="resizing smaller changes size but not capacity"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 5 + </Original> + <Expanded> + 5 >= 5 + </Expanded> + </Expression> + <Section name="We can use the 'swap trick' to reset the capacity"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 5 + </Original> + <Expanded> + 5 >= 5 + </Expanded> + </Expression> + <Section name="reserving bigger changes capacity but not size"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 10 + </Original> + <Expanded> + 10 >= 10 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 5 + </Original> + <Expanded> + 5 >= 5 + </Expanded> + </Expression> + <Section name="reserving smaller does not change size or capacity"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + v.capacity() >= 5 + </Original> + <Expanded> + 5 >= 5 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="A couple of nested sections followed by a failure"> + <Section name="Outer"> + <Section name="Inner"> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Failure> + to infinity and beyond + </Failure> + <OverallResult success="false"/> + </TestCase> + <TestCase name="not allowed"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Tabs and newlines show in output"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + s1 == s2 + </Original> + <Expanded> + "if ($b == 10) { + $a = 20; +}" +== +"if ($b == 10) { + $a = 20; +} +" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="toString on const wchar_t const pointer returns the string contents"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + result == "\"wide load\"" + </Original> + <Expanded> + ""wide load"" == ""wide load"" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString on const wchar_t pointer returns the string contents"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + result == "\"wide load\"" + </Original> + <Expanded> + ""wide load"" == ""wide load"" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString on wchar_t const pointer returns the string contents"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + result == "\"wide load\"" + </Original> + <Expanded> + ""wide load"" == ""wide load"" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString on wchar_t returns the string contents"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + result == "\"wide load\"" + </Original> + <Expanded> + ""wide load"" == ""wide load"" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="XmlEncode"> + <Section name="normal string"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "normal string" ) == "normal string" + </Original> + <Expanded> + "normal string" == "normal string" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="empty string"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "" ) == "" + </Original> + <Expanded> + "" == "" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="string with ampersand"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "smith & jones" ) == "smith &amp; jones" + </Original> + <Expanded> + "smith &amp; jones" == "smith &amp; jones" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="string with less-than"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "smith < jones" ) == "smith &lt; jones" + </Original> + <Expanded> + "smith &lt; jones" == "smith &lt; jones" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="string with greater-than"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "smith > jones" ) == "smith > jones" + </Original> + <Expanded> + "smith > jones" == "smith > jones" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "smith ]]> jones" ) == "smith ]]&gt; jones" + </Original> + <Expanded> + "smith ]]&gt; jones" +== +"smith ]]&gt; jones" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="string with quotes"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( stringWithQuotes ) == stringWithQuotes + </Original> + <Expanded> + "don't "quote" me on that" +== +"don't "quote" me on that" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( stringWithQuotes, Catch::XmlEncode::ForAttributes ) == "don't &quot;quote&quot; me on that" + </Original> + <Expanded> + "don't &quot;quote&quot; me on that" +== +"don't &quot;quote&quot; me on that" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="string with control char (1)"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "[\x01]" ) == "[&#x1]" + </Original> + <Expanded> + "[&#x1]" == "[&#x1]" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="string with control char (x7F)"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + encode( "[\x7F]" ) == "[&#x7F]" + </Original> + <Expanded> + "[&#x7F]" == "[&#x7F]" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="long long"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" > + <Original> + l == std::numeric_limits<long long>::max() + </Original> + <Expanded> + 9223372036854775807 (0x<hex digits>) +== +9223372036854775807 (0x<hex digits>) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Process can be configured on command line"> + <Section name="default - no arguments"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.shouldDebugBreak == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.abortAfter == -1 + </Original> + <Expanded> + -1 == -1 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.noThrow == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.reporterNames.empty() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="test lists"> + <Section name="1 test" description="Specify one test case using"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + cfg.testSpec().matches( fakeTestCase( "notIncluded" ) ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + cfg.testSpec().matches( fakeTestCase( "test1" ) ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="test lists"> + <Section name="Specify one test case exclusion using exclude:"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="test lists"> + <Section name="Specify one test case exclusion using ~"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="reporter"> + <Section name="-r/console"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.reporterNames[0] == "console" + </Original> + <Expanded> + "console" == "console" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="reporter"> + <Section name="-r/xml"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.reporterNames[0] == "xml" + </Original> + <Expanded> + "xml" == "xml" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="reporter"> + <Section name="-r xml and junit"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.reporterNames.size() == 2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.reporterNames[0] == "xml" + </Original> + <Expanded> + "xml" == "xml" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.reporterNames[1] == "junit" + </Original> + <Expanded> + "junit" == "junit" + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="reporter"> + <Section name="--reporter/junit"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.reporterNames[0] == "junit" + </Original> + <Expanded> + "junit" == "junit" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="debugger"> + <Section name="-b"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.shouldDebugBreak == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="debugger"> + <Section name="--break"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.shouldDebugBreak + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="abort"> + <Section name="-a aborts after first failure"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.abortAfter == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="abort"> + <Section name="-x 2 aborts after two failures"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.abortAfter == 2 + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="abort"> + <Section name="-x must be greater than zero"> + <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfigAndReturnError( argv, config ), Contains( "greater than zero" ) + </Original> + <Expanded> + "Value after -x or --abortAfter must be greater than zero +- while parsing: (-x, --abortx <no. failures>)" contains: "greater than zero" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="abort"> + <Section name="-x must be numeric"> + <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfigAndReturnError( argv, config ), Contains( "-x" ) + </Original> + <Expanded> + "Unable to convert oops to destination type +- while parsing: (-x, --abortx <no. failures>)" contains: "-x" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="nothrow"> + <Section name="-e"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.noThrow == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="nothrow"> + <Section name="--nothrow"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.noThrow == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="output filename"> + <Section name="-o filename"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.outputFilename == "filename.ext" + </Original> + <Expanded> + "filename.ext" == "filename.ext" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="output filename"> + <Section name="--out"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.outputFilename == "filename.ext" + </Original> + <Expanded> + "filename.ext" == "filename.ext" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="combinations"> + <Section name="Single character flags can be combined"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.abortAfter == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.shouldDebugBreak + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.noThrow == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="use-colour"> + <Section name="without option"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.useColour == UseColour::Auto + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="use-colour"> + <Section name="auto"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.useColour == UseColour::Auto + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="use-colour"> + <Section name="yes"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.useColour == UseColour::Yes + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="use-colour"> + <Section name="no"> + <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ) + </Original> + <Expanded> + parseIntoConfig( argv, config ) + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + config.useColour == UseColour::No + </Original> + <Expanded> + 2 == 2 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="use-colour"> + <Section name="error"> + <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/TestMain.cpp" > + <Original> + parseIntoConfig( argv, config ), Contains( "colour mode must be one of" ) + </Original> + <Expanded> + parseIntoConfig( argv, config ), Contains( "colour mode must be one of" ) + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Long strings can be wrapped"> + <Section name="plain string"> + <Section name="No wrapping"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString + </Original> + <Expanded> + "one two three four" +== +"one two three four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 18 ) ).toString() == testString + </Original> + <Expanded> + "one two three four" +== +"one two three four" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="plain string"> + <Section name="Wrapped once"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 17 ) ).toString() == "one two three\nfour" + </Original> + <Expanded> + "one two three +four" +== +"one two three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 16 ) ).toString() == "one two three\nfour" + </Original> + <Expanded> + "one two three +four" +== +"one two three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 14 ) ).toString() == "one two three\nfour" + </Original> + <Expanded> + "one two three +four" +== +"one two three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 13 ) ).toString() == "one two three\nfour" + </Original> + <Expanded> + "one two three +four" +== +"one two three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 12 ) ).toString() == "one two\nthree four" + </Original> + <Expanded> + "one two +three four" +== +"one two +three four" + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="plain string"> + <Section name="Wrapped twice"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour" + </Original> + <Expanded> + "one two +three +four" +== +"one two +three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 8 ) ).toString() == "one two\nthree\nfour" + </Original> + <Expanded> + "one two +three +four" +== +"one two +three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 7 ) ).toString() == "one two\nthree\nfour" + </Original> + <Expanded> + "one two +three +four" +== +"one two +three +four" + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="plain string"> + <Section name="Wrapped three times"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour" + </Original> + <Expanded> + "one +two +three +four" +== +"one +two +three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 5 ) ).toString() == "one\ntwo\nthree\nfour" + </Original> + <Expanded> + "one +two +three +four" +== +"one +two +three +four" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="plain string"> + <Section name="Short wrap"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "abcdef", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndef" + </Original> + <Expanded> + "abc- +def" +== +"abc- +def" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "abcdefg", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndefg" + </Original> + <Expanded> + "abc- +defg" +== +"abc- +defg" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "abcdefgh", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndef-\ngh" + </Original> + <Expanded> + "abc- +def- +gh" +== +"abc- +def- +gh" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 4 ) ).toString() == "one\ntwo\nthr-\nee\nfour" + </Original> + <Expanded> + "one +two +thr- +ee +four" +== +"one +two +thr- +ee +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 3 ) ).toString() == "one\ntwo\nth-\nree\nfo-\nur" + </Original> + <Expanded> + "one +two +th- +ree +fo- +ur" +== +"one +two +th- +ree +fo- +ur" + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="plain string"> + <Section name="As container"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + text.size() == 4 + </Original> + <Expanded> + 4 == 4 + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + text[0] == "one" + </Original> + <Expanded> + "one" == "one" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + text[1] == "two" + </Original> + <Expanded> + "two" == "two" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + text[2] == "three" + </Original> + <Expanded> + "three" == "three" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + text[3] == "four" + </Original> + <Expanded> + "four" == "four" + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="plain string"> + <Section name="Indent first line differently"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + text.toString() == " one two\n three\n four" + </Original> + <Expanded> + " one two + three + four" +== +" one two + three + four" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="With newlines"> + <Section name="No wrapping"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString + </Original> + <Expanded> + "one two +three four" +== +"one two +three four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 18 ) ).toString() == testString + </Original> + <Expanded> + "one two +three four" +== +"one two +three four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 10 ) ).toString() == testString + </Original> + <Expanded> + "one two +three four" +== +"one two +three four" + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="With newlines"> + <Section name="Trailing newline"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "abcdef\n", TextAttributes().setWidth( 10 ) ).toString() == "abcdef\n" + </Original> + <Expanded> + "abcdef +" +== +"abcdef +" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "abcdef", TextAttributes().setWidth( 6 ) ).toString() == "abcdef" + </Original> + <Expanded> + "abcdef" == "abcdef" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "abcdef\n", TextAttributes().setWidth( 6 ) ).toString() == "abcdef\n" + </Original> + <Expanded> + "abcdef +" +== +"abcdef +" + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="With newlines"> + <Section name="Wrapped once"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour" + </Original> + <Expanded> + "one two +three +four" +== +"one two +three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 8 ) ).toString() == "one two\nthree\nfour" + </Original> + <Expanded> + "one two +three +four" +== +"one two +three +four" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 7 ) ).toString() == "one two\nthree\nfour" + </Original> + <Expanded> + "one two +three +four" +== +"one two +three +four" + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="With newlines"> + <Section name="Wrapped twice"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour" + </Original> + <Expanded> + "one +two +three +four" +== +"one +two +three +four" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="With tabs"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( testString, TextAttributes().setWidth( 15 ) ).toString() == "one two three\n four\n five\n six" + </Original> + <Expanded> + "one two three + four + five + six" +== +"one two three + four + five + six" + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="replaceInPlace"> + <Section name="replace single char"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + replaceInPlace( letters, "b", "z" ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + letters == "azcdefcg" + </Original> + <Expanded> + "azcdefcg" == "azcdefcg" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="replace two chars"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + replaceInPlace( letters, "c", "z" ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + letters == "abzdefzg" + </Original> + <Expanded> + "abzdefzg" == "abzdefzg" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="replace first char"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + replaceInPlace( letters, "a", "z" ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + letters == "zbcdefcg" + </Original> + <Expanded> + "zbcdefcg" == "zbcdefcg" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="replace last char"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + replaceInPlace( letters, "g", "z" ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + letters == "abcdefcz" + </Original> + <Expanded> + "abcdefcz" == "abcdefcz" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="replace all chars"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + replaceInPlace( letters, letters, "replaced" ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + letters == "replaced" + </Original> + <Expanded> + "replaced" == "replaced" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="replace no chars"> + <Expression success="true" type="CHECK_FALSE" filename="projects/SelfTest/TestMain.cpp" > + <Original> + !replaceInPlace( letters, "x", "z" ) + </Original> + <Expanded> + !false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + letters == letters + </Original> + <Expanded> + "abcdefcg" == "abcdefcg" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="escape '"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + replaceInPlace( s, "'", "|'" ) + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + s == "didn|'t" + </Original> + <Expanded> + "didn|'t" == "didn|'t" + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Strings can be rendered with colour"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Text can be formatted using the Text class"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "hi there" ).toString() == "hi there" + </Original> + <Expanded> + "hi there" == "hi there" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" > + <Original> + Text( "hi there", narrow ).toString() == "hi\nthere" + </Original> + <Expanded> + "hi +there" +== +"hi +there" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Long text is truncted"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TestMain.cpp" > + <Original> + t.toString(), EndsWith( "... message truncated due to excessive size" ) + </Original> + <Expanded> + "******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +******************************************************************************- +************************ +******************************************************************************- +... message truncated due to excessive size" ends with: "... message truncated due to excessive size" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="ManuallyRegistered"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Parsing a std::pair"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + (std::pair<int, int>( 1, 2 )) == aNicePair + </Original> + <Expanded> + std::pair( 1, 2 ) == std::pair( 1, 2 ) + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Where there is more to the expression after the RHS"> + <Warning> + Uncomment the code in this test to check that it gives a sensible compiler error + </Warning> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Where the LHS is not a simple value"> + <Warning> + Uncomment the code in this test to check that it gives a sensible compiler error + </Warning> + <OverallResult success="true"/> + </TestCase> + <TestCase name="A failing expression with a non streamable type is still captured"> + <Expression success="false" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + &o1 == &o2 + </Original> + <Expanded> + 0x<hex digits> == 0x<hex digits> + </Expanded> + </Expression> + <Expression success="false" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + o1 == o2 + </Original> + <Expanded> + {?} == {?} + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="string literals of different sizes can be compared"> + <Expression success="false" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + std::string( "first" ) == "second" + </Original> + <Expanded> + "first" == "second" + </Expanded> + </Expression> + <OverallResult success="false"/> + </TestCase> + <TestCase name="An expression with side-effects should only be evaluated once"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + i++ == 7 + </Original> + <Expanded> + 7 == 7 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + i++ == 8 + </Original> + <Expanded> + 8 == 8 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Operators at different namespace levels not hijacked by Koenig lookup"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + 0x<hex digits> == o + </Original> + <Expanded> + 3221225472 (0x<hex digits>) == {?} + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Demonstrate that a non-const == is not used"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + t == 1u + </Original> + <Expanded> + {?} == 1 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Test enum bit values"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + 0x<hex digits> == bit30and31 + </Original> + <Expanded> + 3221225472 (0x<hex digits>) == 3221225472 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="boolean member"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + obj.prop != nullptr + </Original> + <Expanded> + 0x<hex digits> != nullptr + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="(unimplemented) static bools can be evaluated"> + <Section name="compare to true"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + is_true<true>::value == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + true == is_true<true>::value + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="compare to false"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + is_true<false>::value == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + false == is_true<false>::value + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Section name="negation"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + !is_true<false>::value + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="double negation"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + !!is_true<true>::value + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <Section name="direct"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + is_true<true>::value + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + !is_true<false>::value + </Original> + <Expanded> + !false + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Objects that evaluated in boolean contexts can be checked"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + True + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + !False + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="CHECK_FALSE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + !False + </Original> + <Expanded> + !false + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Assertions then sections"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + Catch::alwaysTrue() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="A section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + Catch::alwaysTrue() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="Another section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + Catch::alwaysTrue() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + Catch::alwaysTrue() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="A section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + Catch::alwaysTrue() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="Another other section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + Catch::alwaysTrue() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="non streamable - with conv. op"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + s == "7" + </Original> + <Expanded> + "7" == "7" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Comparing function pointers"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + a + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + a == &foo + </Original> + <Expanded> + 0x<hex digits> == 0x<hex digits> + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Comparing member function pointers"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + m == &S::f + </Original> + <Expanded> + 0x<hex digits> +== +0x<hex digits> + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="pointer to class"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + p == 0 + </Original> + <Expanded> + NULL == 0 + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="null_ptr"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" > + <Original> + ptr.get() == nullptr + </Original> + <Expanded> + NULL == nullptr + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="X/level/0/a"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="X/level/0/b"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="X/level/1/a"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="X/level/1/b"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString( has_toString )"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" > + <Original> + Catch::toString( item ) == "toString( has_toString )" + </Original> + <Expanded> + "toString( has_toString )" +== +"toString( has_toString )" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString( has_maker )"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" > + <Original> + Catch::toString( item ) == "StringMaker<has_maker>" + </Original> + <Expanded> + "StringMaker<has_maker>" +== +"StringMaker<has_maker>" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString( has_maker_and_toString )"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" > + <Original> + Catch::toString( item ) == "toString( has_maker_and_toString )" + </Original> + <Expanded> + "toString( has_maker_and_toString )" +== +"toString( has_maker_and_toString )" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString( vectors<has_toString )"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" > + <Original> + Catch::toString( v ) == "{ {?} }" + </Original> + <Expanded> + "{ {?} }" == "{ {?} }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString( vectors<has_maker )"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" > + <Original> + Catch::toString( v ) == "{ StringMaker<has_maker> }" + </Original> + <Expanded> + "{ StringMaker<has_maker> }" +== +"{ StringMaker<has_maker> }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="toString( vectors<has_maker_and_toString )"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" > + <Original> + Catch::toString( v ) == "{ StringMaker<has_maker_and_toString> }" + </Original> + <Expanded> + "{ StringMaker<has_maker_and_toString> }" +== +"{ StringMaker<has_maker_and_toString> }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Tracker"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="successfully close one section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isSuccessfullyCompleted() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isSuccessfullyCompleted() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="fail one section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="re-enter after failed section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isSuccessfullyCompleted() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="10" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="fail one section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="re-enter after failed section and find next section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isSuccessfullyCompleted() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="6" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="11" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="successfully close one section, then find another"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Re-enter - skips S1 and enters S2"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Successfully close S2"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isSuccessfullyCompleted() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isSuccessfullyCompleted() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="8" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="10" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="successfully close one section, then find another"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Re-enter - skips S1 and enters S2"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="fail S2"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + ctx.completedCycle() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase3.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1c.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2c.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase3.isSuccessfullyCompleted() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="8" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="12" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="14" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="open a nested section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="6" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="start a generator"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.index() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="close outer section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Re-enter for second generation"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.index() == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="8" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="10" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="14" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="start a generator"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.index() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Start a new inner section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Re-enter for second generation"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.index() == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="9" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="13" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="17" failures="0" expectedFailures="0"/> + </Section> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="start a generator"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.index() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Fail an inner section"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2.isSuccessfullyCompleted() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Section name="Re-enter for second generation"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.index() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2b.isOpen() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1b.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1b.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase2.isComplete() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase3.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1c.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1c.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1c.index() == 1 + </Original> + <Expanded> + 1 == 1 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2c.isOpen() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s2c.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + g1c.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + s1c.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" > + <Original> + testCase3.isComplete() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="17" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="22" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="26" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="std::pair<int,std::string> -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" > + <Original> + Catch::toString( value ) == "{ 34, \"xyzzy\" }" + </Original> + <Expanded> + "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="std::pair<int,const std::string> -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" > + <Original> + Catch::toString(value) == "{ 34, \"xyzzy\" }" + </Original> + <Expanded> + "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="std::vector<std::pair<std::string,int> > -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" > + <Original> + Catch::toString( pr ) == "{ { \"green\", 55 } }" + </Original> + <Expanded> + "{ { "green", 55 } }" +== +"{ { "green", 55 } }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="pair<pair<int,const char *,pair<std::string,int> > -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" > + <Original> + Catch::toString( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }" + </Original> + <Expanded> + "{ { 42, "Arthur" }, { "Ford", 24 } }" +== +"{ { 42, "Arthur" }, { "Ford", 24 } }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="vector<int> -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ }" + </Original> + <Expanded> + "{ }" == "{ }" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ 42 }" + </Original> + <Expanded> + "{ 42 }" == "{ 42 }" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ 42, 250 }" + </Original> + <Expanded> + "{ 42, 250 }" == "{ 42, 250 }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="vector<string> -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ }" + </Original> + <Expanded> + "{ }" == "{ }" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ \"hello\" }" + </Original> + <Expanded> + "{ "hello" }" == "{ "hello" }" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ \"hello\", \"world\" }" + </Original> + <Expanded> + "{ "hello", "world" }" +== +"{ "hello", "world" }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="vector<int,allocator> -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ }" + </Original> + <Expanded> + "{ }" == "{ }" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ 42 }" + </Original> + <Expanded> + "{ 42 }" == "{ 42 }" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(vv) == "{ 42, 250 }" + </Original> + <Expanded> + "{ 42, 250 }" == "{ 42, 250 }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="vec<vec<string,alloc>> -> toString"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(v) == "{ }" + </Original> + <Expanded> + "{ }" == "{ }" + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" > + <Original> + Catch::toString(v) == "{ { \"hello\" }, { \"world\" } }" + </Original> + <Expanded> + "{ { "hello" }, { "world" } }" +== +"{ { "hello" }, { "world" } }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Parse test names and tags"> + <Section name="Empty test spec should have no filters"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Test spec from empty string should have no filters"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches(tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Test spec from just a comma should have no filters"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Test spec from name should have one filter"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Test spec from quoted name should have one filter"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Test spec from name should have one filter"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="Wildcard at the start"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + parseTestSpec( "*a" ).matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="6" failures="0" expectedFailures="0"/> + </Section> + <Section name="Wildcard at the end"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + parseTestSpec( "a*" ).matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="6" failures="0" expectedFailures="0"/> + </Section> + <Section name="Wildcard at both ends"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + parseTestSpec( "*a*" ).matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="6" failures="0" expectedFailures="0"/> + </Section> + <Section name="Redundant wildcard at the start"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Redundant wildcard at the end"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Redundant wildcard at both ends"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <Section name="Wildcard at both ends, redundant at start"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="Just wildcard"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="Single tag"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="Single tag, two matches"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="Two tags"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="Two tags, spare separated"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="Wildcarded name and tag"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="Single tag exclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="One tag exclusion and one tag inclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="One tag exclusion and one wldcarded name inclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="One tag exclusion, using exclude:, and one wldcarded name inclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="name exclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="wildcarded name exclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="wildcarded name exclusion with tag inclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="wildcarded name exclusion, using exclude:, with tag inclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="two wildcarded names"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="empty tag"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="empty quoted name"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="quoted string followed by tag exclusion"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.hasFilters() == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcA ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcB ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcC ) == false + </Original> + <Expanded> + false == false + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/CmdLineTests.cpp" > + <Original> + spec.matches( tcD ) == true + </Original> + <Expanded> + true == true + </Expanded> + </Expression> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="tuple<>"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "{ }" == Catch::toString(type{}) + </Original> + <Expanded> + "{ }" == "{ }" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "{ }" == Catch::toString(value) + </Original> + <Expanded> + "{ }" == "{ }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="tuple<int>"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "{ 0 }" == Catch::toString(type{0}) + </Original> + <Expanded> + "{ 0 }" == "{ 0 }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="tuple<float,int>"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "1.2f" == Catch::toString(float(1.2)) + </Original> + <Expanded> + "1.2f" == "1.2f" + </Expanded> + </Expression> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "{ 1.2f, 0 }" == Catch::toString(type{1.2,0}) + </Original> + <Expanded> + "{ 1.2f, 0 }" == "{ 1.2f, 0 }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="tuple<string,string>"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "{ \"hello\", \"world\" }" == Catch::toString(type{"hello","world"}) + </Original> + <Expanded> + "{ "hello", "world" }" +== +"{ "hello", "world" }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="tuple<tuple<int>,tuple<>,float>"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "{ { 42 }, { }, 1.2f }" == Catch::toString(value) + </Original> + <Expanded> + "{ { 42 }, { }, 1.2f }" +== +"{ { 42 }, { }, 1.2f }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="tuple<nullptr,int,const char *>"> + <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" > + <Original> + "{ nullptr, 42, \"Catch me\" }" == Catch::toString(value) + </Original> + <Expanded> + "{ nullptr, 42, "Catch me" }" +== +"{ nullptr, 42, "Catch me" }" + </Expanded> + </Expression> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Tag alias can be registered against tag patterns"> + <Section name="The same tag alias can only be registered once"> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + what, Contains( "[@zzz]" ) + </Original> + <Expanded> + "error: tag alias, "[@zzz]" already registered. + First seen at file:2 + Redefined at file:10" contains: "[@zzz]" + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + what, Contains( "file" ) + </Original> + <Expanded> + "error: tag alias, "[@zzz]" already registered. + First seen at file:2 + Redefined at file:10" contains: "file" + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + what, Contains( "2" ) + </Original> + <Expanded> + "error: tag alias, "[@zzz]" already registered. + First seen at file:2 + Redefined at file:10" contains: "2" + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + what, Contains( "10" ) + </Original> + <Expanded> + "error: tag alias, "[@zzz]" already registered. + First seen at file:2 + Redefined at file:10" contains: "10" + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <Section name="Tag aliases must be of the form [@name]"> + <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) + </Original> + <Expanded> + registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) + </Original> + <Expanded> + registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) + </Original> + <Expanded> + registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) + </Expanded> + </Expression> + <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" > + <Original> + registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) + </Original> + <Expanded> + registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) + </Expanded> + </Expression> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Anonymous test case 1"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Test case with one argument"> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Variadic macros"> + <Section name="Section with one argument"> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Scenario: Do that thing with the thing"> + <Section name="Given: This stuff exists"> + <Section name="When: I do this"> + <Section name="Then: it should do this"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + itDoesThis() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <Section name="And: do that"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + itDoesThat() + </Original> + <Expanded> + true + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Scenario: Vector resizing affects size and capacity"> + <Section name="Given: an empty vector"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.size() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Section name="When: it is made larger"> + <Section name="Then: the size and capacity go up"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.size() == 10 + </Original> + <Expanded> + 10 == 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.capacity() >= 10 + </Original> + <Expanded> + 10 >= 10 + </Expanded> + </Expression> + <Section name="And when: it is made smaller again"> + <Section name="Then: the size goes down but the capacity stays the same"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.size() == 5 + </Original> + <Expanded> + 5 == 5 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.capacity() >= 10 + </Original> + <Expanded> + 10 >= 10 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="4" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="5" failures="0" expectedFailures="0"/> + </Section> + <Section name="Given: an empty vector"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.size() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Section name="When: we reserve more space"> + <Section name="Then: The capacity is increased but the size remains the same"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.capacity() >= 10 + </Original> + <Expanded> + 10 >= 10 + </Expanded> + </Expression> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + v.size() == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="3" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Scenario: This is a really long scenario name to see how the list command deals with wrapping"> + <Section name="Given: A section name that is so long that it cannot fit in a single console width"> + <Section name="When: The test headers are printed as part of the normal running of the scenario"> + <Section name="Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent"> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <TestCase name="Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or methods"> + <Section name="Given: No operations precede me"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + before == 0 + </Original> + <Expanded> + 0 == 0 + </Expanded> + </Expression> + <Section name="When: We get the count"> + <Section name="Then: Subsequently values are higher"> + <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" > + <Original> + after > before + </Original> + <Expanded> + 1 > 0 + </Expanded> + </Expression> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="1" failures="0" expectedFailures="0"/> + </Section> + <OverallResults successes="2" failures="0" expectedFailures="0"/> + </Section> + <OverallResult success="true"/> + </TestCase> + <OverallResults successes="823" failures="85" expectedFailures="13"/> + </Group> + <OverallResults successes="823" failures="85" expectedFailures="13"/> +</Catch> |