<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="Unexpected custom exceptions can be translated"> <Exception filename="projects/SelfTest/ExceptionTests.cpp" > custom 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="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="force-colour"> <Section name="--force-colour"> <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.forceColour </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="force-colour"> <Section name="without --force-colour"> <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.forceColour </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" 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="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="812" failures="82" expectedFailures="13"/> </Group> <OverallResults successes="812" failures="82" expectedFailures="13"/> </Catch>