<?xml version="1.0" encoding="UTF-8"?> <Catch name="<exe-name>" filters="~[!nonportable]~[!benchmark]~[approvals]"> <Randomness seed="1"/> <Group name="<exe-name>"> <TestCase name="# A test name that starts with a #" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" tags="[Decomposition]" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" > <Original> fptr == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" > <Original> fptr == 0l </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#1027" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> y.v == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> 0 == y.v </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#1027: Bitfields can be captured" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> y.v == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> 0 == y.v </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#1147" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> t1 == t2 </Original> <Expanded> {?} == {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> t1 != t2 </Original> <Expanded> {?} != {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> t1 < t2 </Original> <Expanded> {?} < {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> t1 > t2 </Original> <Expanded> {?} > {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> t1 <= t2 </Original> <Expanded> {?} <= {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> t1 >= t2 </Original> <Expanded> {?} >= {?} </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#1175 - Hidden Test" tags="[.]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="#1238" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Info> uarr := "123" </Info> <Info> sarr := "456" </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> std::memcmp(uarr, "123", sizeof(uarr)) == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Info> uarr := "123" </Info> <Info> sarr := "456" </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> std::memcmp(sarr, "456", sizeof(sarr)) == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#1245" tags="[compilation]" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="#1403" tags="[compilation]" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> h1 == h2 </Original> <Expanded> [1403 helper] == [1403 helper] </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#1455 - INFO and WARN can start with a linebreak" tags="[.][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> This info message starts with a linebreak </Info> <Warning> This warning message starts with a linebreak </Warning> <OverallResult success="false"/> </TestCase> <TestCase name="#1514: stderr/stdout is not captured in tests aborted by an exception" tags="[.][output-capture][regression]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > 1514 </Failure> <OverallResult success="false"> <StdOut> This would not be caught previously </StdOut> <StdErr> Nor would this </StdErr> </OverallResult> </TestCase> <TestCase name="#1548" tags="[compilation]" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> std::is_same<TypeList<int>, TypeList<int>>::value </Original> <Expanded> true </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#748 - captures with unexpected exceptions" tags="[!shouldfail][!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Section name="outside assertions" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Info> answer := 42 </Info> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > expected exception </Exception> <OverallResults successes="0" failures="0" expectedFailures="1"/> </Section> <Section name="inside REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Info> answer := 42 </Info> <Expression success="false" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows() </Original> <Expanded> thisThrows() </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > expected exception </Exception> </Expression> <OverallResults successes="0" failures="0" expectedFailures="1"/> </Section> <Section name="inside REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Info> answer := 42 </Info> <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows() </Original> <Expanded> thisThrows() </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="#809" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> 42 == f </Original> <Expanded> 42 == {?} </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#833" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> a == t </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> a == t </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> throws_int(true) </Original> <Expanded> throws_int(true) </Expanded> </Expression> <Expression success="true" type="CHECK_THROWS_AS" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> throws_int(true), int </Original> <Expanded> throws_int(true), int </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> throws_int(false) </Original> <Expanded> throws_int(false) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> "aaa", Catch::EndsWith("aaa") </Original> <Expanded> "aaa" ends with: "aaa" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> templated_tests<int>(3) </Original> <Expanded> true </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#835 -- errno should not be touched by Catch" tags="[!shouldfail][.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> f() == 0 </Original> <Expanded> 1 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> errno == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#872" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Info> dummy := 0 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <Original> x == 4 </Original> <Expanded> {?} == 4 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="#961 -- Dynamically created sections should all be reported" tags="[.]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="Looped section 0" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Looped section 1" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Looped section 2" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Looped section 3" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Looped section 4" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="'Not' checks that should fail" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> false != false </Original> <Expanded> false != false </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> true != true </Original> <Expanded> true != true </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !true </Original> <Expanded> false </Expanded> </Expression> <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(true) </Original> <Expanded> !true </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !trueValue </Original> <Expanded> false </Expanded> </Expression> <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(trueValue) </Original> <Expanded> !true </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(1 == 1) </Original> <Expanded> false </Expanded> </Expression> <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(1 == 1) </Original> <Expanded> !(1 == 1) </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="'Not' checks that should succeed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> false == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> true == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !false </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(false) </Original> <Expanded> !false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !falseValue </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(falseValue) </Original> <Expanded> !false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(1 == 2) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> !(1 == 2) </Original> <Expanded> !(1 == 2) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="(unimplemented) static bools can be evaluated" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Section name="compare to true" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> is_true<true>::value == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.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" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> is_true<false>::value == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> false == is_true<false>::value </Original> <Expanded> false == false </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="negation" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> !is_true<false>::value </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="double negation" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> !!is_true<true>::value </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="direct" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> is_true<true>::value </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.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="3x3x3 ints" tags="[generators]" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 1 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 1 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 2 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 2 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 4 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 4 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 5 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 5 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 9 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 7 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 8 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < y </Original> <Expanded> 3 < 6 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> y < z </Original> <Expanded> 6 < 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> x < z </Original> <Expanded> 3 < 9 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A METHOD_AS_TEST_CASE based test run that fails" tags="[.][class][failing]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> s == "world" </Original> <Expanded> "hello" == "world" </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A METHOD_AS_TEST_CASE based test run that succeeds" tags="[class]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> s == "hello" </Original> <Expanded> "hello" == "hello" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo<float>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 1 </Original> <Expanded> 0 == 1 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo<int>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 1 </Original> <Expanded> 0 == 1 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector<float>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 1 </Original> <Expanded> 0 == 1 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector<int>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 1 </Original> <Expanded> 0 == 1 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo<float>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo<int>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector<float>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector<int>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>::m_a.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails - Template_Foo_2<float, 6>" tags="[.][class][failing][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() < 2 </Original> <Expanded> 6 < 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails - Template_Foo_2<int, 2>" tags="[.][class][failing][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() < 2 </Original> <Expanded> 2 < 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails - std::array<float, 6>" tags="[.][class][failing][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() < 2 </Original> <Expanded> 6 < 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails - std::array<int, 2>" tags="[.][class][failing][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() < 2 </Original> <Expanded> 2 < 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds - Template_Foo_2<float,6>" tags="[class][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() >= 2 </Original> <Expanded> 6 >= 2 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds - Template_Foo_2<int,2>" tags="[class][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() >= 2 </Original> <Expanded> 2 >= 2 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds - std::array<float,6>" tags="[class][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() >= 2 </Original> <Expanded> 6 >= 2 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds - std::array<int,2>" tags="[class][nttp][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture_2<TestType>{}.m_a.size() >= 2 </Original> <Expanded> 2 >= 2 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD based test run that fails - double" tags="[.][class][failing][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 2 </Original> <Expanded> 1.0 == 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD based test run that fails - float" tags="[.][class][failing][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 2 </Original> <Expanded> 1.0f == 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD based test run that fails - int" tags="[.][class][failing][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 2 </Original> <Expanded> 1 == 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD based test run that succeeds - double" tags="[class][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 1 </Original> <Expanded> 1.0 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD based test run that succeeds - float" tags="[class][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 1 </Original> <Expanded> 1.0f == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD based test run that succeeds - int" tags="[class][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD_SIG based test run that fails - 1" tags="[.][class][failing][nttp][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Nttp_Fixture<V>::value == 0 </Original> <Expanded> 1 == 0 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD_SIG based test run that fails - 3" tags="[.][class][failing][nttp][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Nttp_Fixture<V>::value == 0 </Original> <Expanded> 3 == 0 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD_SIG based test run that fails - 6" tags="[.][class][failing][nttp][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Nttp_Fixture<V>::value == 0 </Original> <Expanded> 6 == 0 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD_SIG based test run that succeeds - 1" tags="[class][nttp][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Nttp_Fixture<V>::value > 0 </Original> <Expanded> 1 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD_SIG based test run that succeeds - 3" tags="[class][nttp][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Nttp_Fixture<V>::value > 0 </Original> <Expanded> 3 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEMPLATE_TEST_CASE_METHOD_SIG based test run that succeeds - 6" tags="[class][nttp][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Nttp_Fixture<V>::value > 0 </Original> <Expanded> 6 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A TEST_CASE_METHOD based test run that fails" tags="[.][class][failing]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> m_a == 2 </Original> <Expanded> 1 == 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="A TEST_CASE_METHOD based test run that succeeds" tags="[class]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> m_a == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case - Foo<float>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case - Foo<int>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case - std::vector<float>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case - std::vector<int>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case with array signature - Bar<float, 42>" tags="[nttp][product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() > 0 </Original> <Expanded> 42 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case with array signature - Bar<int, 9>" tags="[nttp][product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() > 0 </Original> <Expanded> 9 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case with array signature - std::array<float, 42>" tags="[nttp][product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() > 0 </Original> <Expanded> 42 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A Template product test case with array signature - std::array<int, 9>" tags="[nttp][product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x.size() > 0 </Original> <Expanded> 9 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A comparison that uses literals instead of the normal constructor" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == 1.23_a </Original> <Expanded> 1.23 == Approx( 1.23 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d != 1.22_a </Original> <Expanded> 1.23 != Approx( 1.22 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> -d == -1.23_a </Original> <Expanded> -1.23 == Approx( -1.23 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == 1.2_a .epsilon(.1) </Original> <Expanded> 1.23 == Approx( 1.2 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d != 1.2_a .epsilon(.001) </Original> <Expanded> 1.23 != Approx( 1.2 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == 1_a .epsilon(.3) </Original> <Expanded> 1.23 == Approx( 1.0 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="A couple of nested sections followed by a failure" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="Outer" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="Inner" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Failure filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > to infinity and beyond </Failure> <OverallResult success="false"/> </TestCase> <TestCase name="A failing expression with a non streamable type is still captured" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> &o1 == &o2 </Original> <Expanded> 0x<hex digits> == 0x<hex digits> </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> o1 == o2 </Original> <Expanded> {?} == {?} </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Absolute margin" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 104.0 != Approx(100.0) </Original> <Expanded> 104.0 != Approx( 100.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 104.0 == Approx(100.0).margin(5) </Original> <Expanded> 104.0 == Approx( 100.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 104.0 == Approx(100.0).margin(4) </Original> <Expanded> 104.0 == Approx( 100.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 104.0 != Approx(100.0).margin(3) </Original> <Expanded> 104.0 != Approx( 100.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 100.3 != Approx(100.0) </Original> <Expanded> 100.3 != Approx( 100.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 100.3 == Approx(100.0).margin(0.5) </Original> <Expanded> 100.3 == Approx( 100.0 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="An empty test with no assertions" tags="[empty]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="false"/> </TestCase> <TestCase name="An expression with side-effects should only be evaluated once" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> i++ == 7 </Original> <Expanded> 7 == 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> i++ == 8 </Original> <Expanded> 8 == 8 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="An unchecked exception reports the line of the last assertion" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> 1 == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="false" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> {Unknown expression after the reported line} </Original> <Expanded> {Unknown expression after the reported line} </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > unexpected exception </Exception> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Anonymous test case 1" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="Approx setters validate their arguments" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(0).margin(0) </Original> <Expanded> Approx(0).margin(0) </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(0).margin(1234656) </Original> <Expanded> Approx(0).margin(1234656) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(0).margin(-2), std::domain_error </Original> <Expanded> Approx(0).margin(-2), std::domain_error </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(0).epsilon(0) </Original> <Expanded> Approx(0).epsilon(0) </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(0).epsilon(1) </Original> <Expanded> Approx(0).epsilon(1) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(0).epsilon(-0.001), std::domain_error </Original> <Expanded> Approx(0).epsilon(-0.001), std::domain_error </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(0).epsilon(1.0001), std::domain_error </Original> <Expanded> Approx(0).epsilon(1.0001), std::domain_error </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Approx with exactly-representable margin" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 0.25f == Approx(0.0f).margin(0.25f) </Original> <Expanded> 0.25f == Approx( 0.0 ) </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 0.0f == Approx(0.25f).margin(0.25f) </Original> <Expanded> 0.0f == Approx( 0.25 ) </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 0.5f == Approx(0.25f).margin(0.25f) </Original> <Expanded> 0.5f == Approx( 0.25 ) </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 245.0f == Approx(245.25f).margin(0.25f) </Original> <Expanded> 245.0f == Approx( 245.25 ) </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 245.5f == Approx(245.25f).margin(0.25f) </Original> <Expanded> 245.5f == Approx( 245.25 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Approximate PI" tags="[Approx][PI]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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/<exe-name>/UsageTests/Approx.tests.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="Approximate comparisons with different epsilons" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d != Approx( 1.231 ) </Original> <Expanded> 1.23 != Approx( 1.231 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 1.23f == Approx( 1.23f ) </Original> <Expanded> 1.23f == Approx( 1.2300000191 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 1 == Approx( 1 ) </Original> <Expanded> 1 == Approx( 1.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 1.0f == Approx( 1 ) </Original> <Expanded> 1.0f == Approx( 1.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 0 == Approx( dZero) </Original> <Expanded> 0 == Approx( 0.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 0 == Approx( dSmall ).margin( 0.001 ) </Original> <Expanded> 0 == Approx( 0.00001 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 1.234f == Approx( dMedium ) </Original> <Expanded> 1.234f == Approx( 1.234 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> dMedium == Approx( 1.234f ) </Original> <Expanded> 1.234 == Approx( 1.2339999676 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Arbitrary predicate matcher" tags="[generic][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Function pointer" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1, Predicate<int>(alwaysTrue, "always true") </Original> <Expanded> 1 matches predicate: "always true" </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1, !Predicate<int>(alwaysFalse, "always false") </Original> <Expanded> 1 not matches predicate: "always false" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Lambdas + different type" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> "Hello olleH", Predicate<std::string>( [] (std::string const& str) -> bool { return str.front() == str.back(); }, "First and last character should be equal") </Original> <Expanded> "Hello olleH" matches predicate: "First and last character should be equal" </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> "This wouldn't pass", !Predicate<std::string>( [] (std::string const& str) -> bool { return str.front() == str.back(); } ) </Original> <Expanded> "This wouldn't pass" not matches undescribed predicate </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Assertions then sections" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Section name="A section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Section name="Another section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> true </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/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Section name="A section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Section name="Another other section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> true </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="Assorted miscellaneous tests" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> INFINITY == Approx(INFINITY) </Original> <Expanded> inff == Approx( inf ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> NAN != Approx(NAN) </Original> <Expanded> nanf != Approx( nan ) </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> !(NAN == Approx(NAN)) </Original> <Expanded> !(nanf == Approx( nan )) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="CAPTURE can deal with complex expressions" tags="[capture][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> a := 1 </Info> <Info> b := 2 </Info> <Info> c := 3 </Info> <Info> a + b := 3 </Info> <Info> a+b := 3 </Info> <Info> c > b := true </Info> <Info> a == 1 := true </Info> <OverallResult success="true"/> </TestCase> <TestCase name="CAPTURE can deal with complex expressions involving commas" tags="[capture][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> std::vector<int>{1, 2, 3}[0, 1, 2] := 3 </Info> <Info> std::vector<int>{1, 2, 3}[(0, 1)] := 2 </Info> <Info> std::vector<int>{1, 2, 3}[0] := 1 </Info> <Info> (helper_1436<int, int>{12, -12}) := { 12, -12 } </Info> <Info> (helper_1436<int, int>(-12, 12)) := { -12, 12 } </Info> <Info> (1, 2) := 2 </Info> <Info> (2, 3) := 3 </Info> <OverallResult success="true"/> </TestCase> <TestCase name="CAPTURE parses string and character constants" tags="[capture][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> ("comma, in string", "escaped, \", ") := "escaped, ", " </Info> <Info> "single quote in string,'," := "single quote in string,'," </Info> <Info> "some escapes, \\,\\\\" := "some escapes, \,\\" </Info> <Info> "some, ), unmatched, } prenheses {[<" := "some, ), unmatched, } prenheses {[<" </Info> <Info> '"' := '"' </Info> <Info> '\'' := ''' </Info> <Info> ',' := ',' </Info> <Info> '}' := '}' </Info> <Info> ')' := ')' </Info> <Info> '(' := '(' </Info> <Info> '{' := '{' </Info> <OverallResult success="true"/> </TestCase> <TestCase name="Capture and info messages" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Section name="Capture should stringify like assertions" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Info> i := 2 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Info should NOT stringify the way assertions do" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Info> 3 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Character pretty printing" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Section name="Specifically escaped" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> tab == '\t' </Original> <Expanded> '\t' == '\t' </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> newline == '\n' </Original> <Expanded> '\n' == '\n' </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> carr_return == '\r' </Original> <Expanded> '\r' == '\r' </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> form_feed == '\f' </Original> <Expanded> '\f' == '\f' </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="General chars" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> space == ' ' </Original> <Expanded> ' ' == ' ' </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == chars[i] </Original> <Expanded> 'a' == 'a' </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == chars[i] </Original> <Expanded> 'z' == 'z' </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == chars[i] </Original> <Expanded> 'A' == 'A' </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == chars[i] </Original> <Expanded> 'Z' == 'Z' </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <Section name="Low ASCII" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> null_terminator == '\0' </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == i </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == i </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == i </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> c == i </Original> <Expanded> 5 == 5 </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Commas in various macros are allowed" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<constructor_throws>{constructor_throws{}, constructor_throws{}} </Original> <Expanded> std::vector<constructor_throws>{constructor_throws{}, constructor_throws{}} </Expanded> </Expression> <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<constructor_throws>{constructor_throws{}, constructor_throws{}} </Original> <Expanded> std::vector<constructor_throws>{constructor_throws{}, constructor_throws{}} </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<int>{1, 2, 3} == std::vector<int>{1, 2, 3} </Original> <Expanded> std::vector<int>{1, 2, 3} == std::vector<int>{1, 2, 3} </Expanded> </Expression> <Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<int>{1, 2, 3} == std::vector<int>{1, 2, 3} </Original> <Expanded> std::vector<int>{1, 2, 3} == std::vector<int>{1, 2, 3} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<int>{1, 2} == std::vector<int>{1, 2} </Original> <Expanded> { 1, 2 } == { 1, 2 } </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<int>{1, 2} == std::vector<int>{1, 2} </Original> <Expanded> { 1, 2 } == { 1, 2 } </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> !(std::vector<int>{1, 2} == std::vector<int>{1, 2, 3}) </Original> <Expanded> !({ 1, 2 } == { 1, 2, 3 }) </Expanded> </Expression> <Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> !(std::vector<int>{1, 2} == std::vector<int>{1, 2, 3}) </Original> <Expanded> !({ 1, 2 } == { 1, 2, 3 }) </Expanded> </Expression> <Expression success="true" type="CHECK_NOFAIL" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<int>{1, 2} == std::vector<int>{1, 2} </Original> <Expanded> { 1, 2 } == { 1, 2 } </Expanded> </Expression> <Expression success="true" type="CHECKED_IF" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<int>{1, 2} == std::vector<int>{1, 2} </Original> <Expanded> { 1, 2 } == { 1, 2 } </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECKED_ELSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::vector<int>{1, 2} == std::vector<int>{1, 2} </Original> <Expanded> { 1, 2 } == { 1, 2 } </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Comparing function pointers" tags="[Tricky][function pointer]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> a </Original> <Expanded> 0x<hex digits> </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> a == &foo </Original> <Expanded> 0x<hex digits> == 0x<hex digits> </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Comparison with explicitly convertible types" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> td == Approx(10.0) </Original> <Expanded> StrongDoubleTypedef(10) == Approx( 10.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(10.0) == td </Original> <Expanded> Approx( 10.0 ) == StrongDoubleTypedef(10) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> td != Approx(11.0) </Original> <Expanded> StrongDoubleTypedef(10) != Approx( 11.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(11.0) != td </Original> <Expanded> Approx( 11.0 ) != StrongDoubleTypedef(10) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> td <= Approx(10.0) </Original> <Expanded> StrongDoubleTypedef(10) <= Approx( 10.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> td <= Approx(11.0) </Original> <Expanded> StrongDoubleTypedef(10) <= Approx( 11.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(10.0) <= td </Original> <Expanded> Approx( 10.0 ) <= StrongDoubleTypedef(10) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(9.0) <= td </Original> <Expanded> Approx( 9.0 ) <= StrongDoubleTypedef(10) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> td >= Approx(9.0) </Original> <Expanded> StrongDoubleTypedef(10) >= Approx( 9.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> td >= Approx(td) </Original> <Expanded> StrongDoubleTypedef(10) >= Approx( 10.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(td) >= td </Original> <Expanded> Approx( 10.0 ) >= StrongDoubleTypedef(10) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx(11.0) >= td </Original> <Expanded> Approx( 11.0 ) >= StrongDoubleTypedef(10) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Comparisons between ints where one side is computed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 54 == 6*9 </Original> <Expanded> 54 == 54 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Comparisons between unsigned ints and negative signed ints match c++ standard behaviour" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> ( -1 > 2u ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> -1 > 2u </Original> <Expanded> -1 > 2 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> ( 2u < -1 ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 2u < -1 </Original> <Expanded> 2 < -1 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> ( minInt > 2u ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> minInt > 2u </Original> <Expanded> -2147483648 > 2 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Comparisons with int literals don't warn when mixing signed/ unsigned" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> i == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> ui == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> l == 3 </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> ul == 4 </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> c == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> uc == 6 </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 1 == i </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 2 == ui </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 3 == l </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 4 == ul </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 5 == c </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 6 == uc </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> (std::numeric_limits<uint32_t>::max)() > ul </Original> <Expanded> 4294967295 (0x<hex digits>) > 4 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Contains string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Contains("not there", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" contains: "not there" (case insensitive) </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Contains("STRING") </Original> <Expanded> "this string contains 'abc' as a substring" contains: "STRING" </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Custom exceptions can be translated when testing for nothrow" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="false" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> throwCustom() </Original> <Expanded> throwCustom() </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.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" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="false" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> throwCustom(), std::exception </Original> <Expanded> throwCustom(), std::exception </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > custom exception - not std </Exception> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Custom std-exceptions can be custom translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > custom std exception </Exception> <OverallResult success="false"/> </TestCase> <TestCase name="Default scale is invisible to comparison" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 101.000001 != Approx(100).epsilon(0.01) </Original> <Expanded> 101.000001 != Approx( 100.0 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> std::pow(10, -5) != Approx(std::pow(10, -7)) </Original> <Expanded> 0.00001 != Approx( 0.0000001 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Directly creating an EnumInfo" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> enumInfo->lookup(0) == "Value1" </Original> <Expanded> Value1 == "Value1" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> enumInfo->lookup(1) == "Value2" </Original> <Expanded> Value2 == "Value2" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> enumInfo->lookup(3) == "{** unexpected enum value **}" </Original> <Expanded> {** unexpected enum value **} == "{** unexpected enum value **}" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="EndsWith string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), EndsWith("Substring") </Original> <Expanded> "this string contains 'abc' as a substring" ends with: "Substring" </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), EndsWith("this", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" ends with: "this" (case insensitive) </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Enums can quickly have stringification enabled using REGISTER_ENUM" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> stringify( EnumClass3::Value1 ) == "Value1" </Original> <Expanded> "Value1" == "Value1" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> stringify( EnumClass3::Value2 ) == "Value2" </Original> <Expanded> "Value2" == "Value2" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> stringify( EnumClass3::Value3 ) == "Value3" </Original> <Expanded> "Value3" == "Value3" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> stringify( EnumClass3::Value4 ) == "{** unexpected enum value **}" </Original> <Expanded> "{** unexpected enum value **}" == "{** unexpected enum value **}" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> stringify( ec3 ) == "Value2" </Original> <Expanded> "Value2" == "Value2" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Enums in namespaces can quickly have stringification enabled using REGISTER_ENUM" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> stringify( Bikeshed::Colours::Red ) == "Red" </Original> <Expanded> "Red" == "Red" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> stringify( Bikeshed::Colours::Blue ) == "Blue" </Original> <Expanded> "Blue" == "Blue" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Epsilon only applies to Approx's value" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> 101.01 != Approx(100).epsilon(0.01) </Original> <Expanded> 101.01 != Approx( 100.0 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Equality checks that should fail" tags="[!mayfail][.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven == 6 </Original> <Expanded> 7 == 6 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven == 8 </Original> <Expanded> 7 == 8 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven == 0 </Original> <Expanded> 7 == 0 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.double_pi == Approx( 3.1415 ) </Original> <Expanded> 3.1415926535 == Approx( 3.1415 ) </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello == "goodbye" </Original> <Expanded> "hello" == "goodbye" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello == "hell" </Original> <Expanded> "hello" == "hell" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello == "hello1" </Original> <Expanded> "hello" == "hello1" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello.size() == 6 </Original> <Expanded> 5 == 6 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> x == Approx( 1.301 ) </Original> <Expanded> 1.3 == Approx( 1.301 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Equality checks that should succeed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven == 7 </Original> <Expanded> 7 == 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.double_pi == Approx( 3.1415926535 ) </Original> <Expanded> 3.1415926535 == Approx( 3.1415926535 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello == "hello" </Original> <Expanded> "hello" == "hello" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> "hello" == data.str_hello </Original> <Expanded> "hello" == "hello" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> x == Approx( 1.3 ) </Original> <Expanded> 1.3 == Approx( 1.3 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Equals" tags="[matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Equals("this string contains 'ABC' as a substring", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" equals: "this string contains 'abc' as a substring" (case insensitive) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Equals string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Equals("something else", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" equals: "something else" (case insensitive) </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Exception as a value (e.g. in REQUIRE_THROWS_MATCHES) can be stringified" tags="[exception][toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> ::Catch::Detail::stringify(WhatException{}) == "This exception has overridden what() method" </Original> <Expanded> "This exception has overridden what() method" == "This exception has overridden what() method" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> ::Catch::Detail::stringify(OperatorException{}) == "OperatorException" </Original> <Expanded> "OperatorException" == "OperatorException" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> ::Catch::Detail::stringify(StringMakerException{}) == "StringMakerException" </Original> <Expanded> "StringMakerException" == "StringMakerException" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Exception matchers that fail" tags="[!throws][.][exceptions][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="No exception" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> doesNotThrow(), SpecialException, ExceptionMatcher{1} </Original> <Expanded> doesNotThrow(), SpecialException, ExceptionMatcher{1} </Expanded> </Expression> <Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> doesNotThrow(), SpecialException, ExceptionMatcher{1} </Original> <Expanded> doesNotThrow(), SpecialException, ExceptionMatcher{1} </Expanded> </Expression> <OverallResults successes="0" failures="2" expectedFailures="0"/> </Section> <Section name="Type mismatch" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> throwsAsInt(1), SpecialException, ExceptionMatcher{1} </Original> <Expanded> throwsAsInt(1), SpecialException, ExceptionMatcher{1} </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > Unknown exception </Exception> </Expression> <Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> throwsAsInt(1), SpecialException, ExceptionMatcher{1} </Original> <Expanded> throwsAsInt(1), SpecialException, ExceptionMatcher{1} </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > Unknown exception </Exception> </Expression> <OverallResults successes="0" failures="2" expectedFailures="0"/> </Section> <Section name="Contents are wrong" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> throws(3), SpecialException, ExceptionMatcher{1} </Original> <Expanded> SpecialException::what special exception has value of 1 </Expanded> </Expression> <Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> throws(4), SpecialException, ExceptionMatcher{1} </Original> <Expanded> SpecialException::what special exception has value of 1 </Expanded> </Expression> <OverallResults successes="0" failures="2" expectedFailures="0"/> </Section> <OverallResult success="false"/> </TestCase> <TestCase name="Exception matchers that succeed" tags="[!throws][exceptions][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> throws(1), SpecialException, ExceptionMatcher{1} </Original> <Expanded> SpecialException::what special exception has value of 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> throws(2), SpecialException, ExceptionMatcher{2} </Original> <Expanded> SpecialException::what special exception has value of 2 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Exception messages can be tested for" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Section name="exact match" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), "expected exception" </Original> <Expanded> "expected exception" equals: "expected exception" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="different case" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No ) </Original> <Expanded> "expected exception" equals: "expected exception" (case insensitive) </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="wildcarded" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), StartsWith( "expected" ) </Original> <Expanded> "expected exception" starts with: "expected" </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), EndsWith( "exception" ) </Original> <Expanded> "expected exception" ends with: "exception" </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), Contains( "except" ) </Original> <Expanded> "expected exception" contains: "except" </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), Contains( "exCept", Catch::CaseSensitive::No ) </Original> <Expanded> "expected exception" contains: "except" (case insensitive) </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="false" type="CHECK_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), std::string </Original> <Expanded> thisThrows(), std::string </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > expected exception </Exception> </Expression> <Expression success="false" type="CHECK_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisDoesntThrow(), std::domain_error </Original> <Expanded> thisDoesntThrow(), std::domain_error </Expanded> </Expression> <Expression success="false" type="CHECK_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows() </Original> <Expanded> thisThrows() </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > expected exception </Exception> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="FAIL aborts the test" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > This is a failure </Failure> <OverallResult success="false"/> </TestCase> <TestCase name="FAIL does not require an argument" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" /> <OverallResult success="false"/> </TestCase> <TestCase name="FAIL_CHECK does not abort the test" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > This is a failure </Failure> <Warning> This message appears in the output </Warning> <OverallResult success="false"/> </TestCase> <TestCase name="Factorials are computed" tags="[factorial]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> Factorial(0) == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> Factorial(1) == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> Factorial(2) == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> Factorial(3) == 6 </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> Factorial(10) == 3628800 </Original> <Expanded> 3628800 (0x<hex digits>) == 3628800 (0x<hex digits>) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Floating point matchers: double" tags="[floating-point][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Margin" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1., WithinAbs(1., 0) </Original> <Expanded> 1.0 is within 0.0 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 0., WithinAbs(1., 1) </Original> <Expanded> 0.0 is within 1.0 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 0., !WithinAbs(1., 0.99) </Original> <Expanded> 0.0 not is within 0.99 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 0., !WithinAbs(1., 0.99) </Original> <Expanded> 0.0 not is within 0.99 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 11., !WithinAbs(10., 0.5) </Original> <Expanded> 11.0 not is within 0.5 of 10.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 10., !WithinAbs(11., 0.5) </Original> <Expanded> 10.0 not is within 0.5 of 11.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> -10., WithinAbs(-10., 0.5) </Original> <Expanded> -10.0 is within 0.5 of -10.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> -10., WithinAbs(-9.6, 0.5) </Original> <Expanded> -10.0 is within 0.5 of -9.6 </Expanded> </Expression> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="ULPs" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1., WithinULP(1., 0) </Original> <Expanded> 1.0 is within 0 ULPs of 1.0 ([1.00000000000000000, 1.00000000000000000]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> nextafter(1., 2.), WithinULP(1., 1) </Original> <Expanded> 1.0 is within 1 ULPs of 1.0 ([0.99999999999999989, 1.00000000000000022]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> nextafter(1., 0.), WithinULP(1., 1) </Original> <Expanded> 1.0 is within 1 ULPs of 1.0 ([0.99999999999999989, 1.00000000000000022]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> nextafter(1., 2.), !WithinULP(1., 0) </Original> <Expanded> 1.0 not is within 0 ULPs of 1.0 ([1.00000000000000000, 1.00000000000000000]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1., WithinULP(1., 0) </Original> <Expanded> 1.0 is within 0 ULPs of 1.0 ([1.00000000000000000, 1.00000000000000000]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> -0., WithinULP(0., 0) </Original> <Expanded> -0.0 is within 0 ULPs of 0.0 ([0.00000000000000000, 0.00000000000000000]) </Expanded> </Expression> <OverallResults successes="6" failures="0" expectedFailures="0"/> </Section> <Section name="Composed" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1., WithinAbs(1., 0.5) || WithinULP(2., 1) </Original> <Expanded> 1.0 ( is within 0.5 of 1.0 or is within 1 ULPs of 2.0 ([1.99999999999999978, 2.00000000000000044]) ) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1., WithinAbs(2., 0.5) || WithinULP(1., 0) </Original> <Expanded> 1.0 ( is within 0.5 of 2.0 or is within 0 ULPs of 1.0 ([1.00000000000000000, 1.00000000000000000]) ) </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Constructor validation" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinAbs(1., 0.) </Original> <Expanded> WithinAbs(1., 0.) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinAbs(1., -1.), std::domain_error </Original> <Expanded> WithinAbs(1., -1.), std::domain_error </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinULP(1., 0) </Original> <Expanded> WithinULP(1., 0) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinULP(1., -1), std::domain_error </Original> <Expanded> WithinULP(1., -1), std::domain_error </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Floating point matchers: float" tags="[floating-point][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Margin" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1.f, WithinAbs(1.f, 0) </Original> <Expanded> 1.0f is within 0.0 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 0.f, WithinAbs(1.f, 1) </Original> <Expanded> 0.0f is within 1.0 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 0.f, !WithinAbs(1.f, 0.99f) </Original> <Expanded> 0.0f not is within 0.9900000095 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 0.f, !WithinAbs(1.f, 0.99f) </Original> <Expanded> 0.0f not is within 0.9900000095 of 1.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 0.f, WithinAbs(-0.f, 0) </Original> <Expanded> 0.0f is within 0.0 of -0.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 11.f, !WithinAbs(10.f, 0.5f) </Original> <Expanded> 11.0f not is within 0.5 of 10.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 10.f, !WithinAbs(11.f, 0.5f) </Original> <Expanded> 10.0f not is within 0.5 of 11.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> -10.f, WithinAbs(-10.f, 0.5f) </Original> <Expanded> -10.0f is within 0.5 of -10.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> -10.f, WithinAbs(-9.6f, 0.5f) </Original> <Expanded> -10.0f is within 0.5 of -9.6000003815 </Expanded> </Expression> <OverallResults successes="9" failures="0" expectedFailures="0"/> </Section> <Section name="ULPs" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1.f, WithinULP(1.f, 0) </Original> <Expanded> 1.0f is within 0 ULPs of 1.0f ([1.00000000000000000, 1.00000000000000000]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> nextafter(1.f, 2.f), WithinULP(1.f, 1) </Original> <Expanded> 1.0f is within 1 ULPs of 1.0f ([0.99999994039535522, 1.00000011920928955]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> nextafter(1.f, 0.f), WithinULP(1.f, 1) </Original> <Expanded> 1.0f is within 1 ULPs of 1.0f ([0.99999994039535522, 1.00000011920928955]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> nextafter(1.f, 2.f), !WithinULP(1.f, 0) </Original> <Expanded> 1.0f not is within 0 ULPs of 1.0f ([1.00000000000000000, 1.00000000000000000]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1.f, WithinULP(1.f, 0) </Original> <Expanded> 1.0f is within 0 ULPs of 1.0f ([1.00000000000000000, 1.00000000000000000]) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> -0.f, WithinULP(0.f, 0) </Original> <Expanded> -0.0f is within 0 ULPs of 0.0f ([0.00000000000000000, 0.00000000000000000]) </Expanded> </Expression> <OverallResults successes="6" failures="0" expectedFailures="0"/> </Section> <Section name="Composed" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1.f, WithinAbs(1.f, 0.5) || WithinULP(1.f, 1) </Original> <Expanded> 1.0f ( is within 0.5 of 1.0 or is within 1 ULPs of 1.0f ([0.99999994039535522, 1.00000011920928955]) ) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> 1.f, WithinAbs(2.f, 0.5) || WithinULP(1.f, 0) </Original> <Expanded> 1.0f ( is within 0.5 of 2.0 or is within 0 ULPs of 1.0f ([1.00000000000000000, 1.00000000000000000]) ) </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Constructor validation" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinAbs(1.f, 0.f) </Original> <Expanded> WithinAbs(1.f, 0.f) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinAbs(1.f, -1.f), std::domain_error </Original> <Expanded> WithinAbs(1.f, -1.f), std::domain_error </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinULP(1.f, 0) </Original> <Expanded> WithinULP(1.f, 0) </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> WithinULP(1.f, -1), std::domain_error </Original> <Expanded> WithinULP(1.f, -1), std::domain_error </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Generators -- adapters" tags="[generators][generic]" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Filtering by predicate" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Basic usage" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i % 2 == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Filtering by predicate" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Basic usage" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i % 2 == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Filtering by predicate" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Basic usage" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i % 2 == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Filtering by predicate" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Throws if there are no matching values" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> filter([] (int) {return false; }, value(1)), Catch::GeneratorException </Original> <Expanded> filter([] (int) {return false; }, value(1)), Catch::GeneratorException </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Shortening a range" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i < 4 </Original> <Expanded> 1 < 4 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Shortening a range" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i < 4 </Original> <Expanded> 2 < 4 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Shortening a range" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i < 4 </Original> <Expanded> 3 < 4 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Same type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i % 2 == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Same type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i % 2 == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Same type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i % 2 == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Different type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i.size() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Different type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i.size() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Different type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i.size() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Different deduced type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i.size() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Different deduced type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i.size() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Transforming elements" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Different deduced type" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> i.size() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Repeating a generator" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j > 0 </Original> <Expanded> 1 > 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Repeating a generator" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j > 0 </Original> <Expanded> 2 > 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Repeating a generator" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j > 0 </Original> <Expanded> 3 > 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Repeating a generator" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j > 0 </Original> <Expanded> 1 > 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Repeating a generator" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j > 0 </Original> <Expanded> 2 > 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Repeating a generator" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j > 0 </Original> <Expanded> 3 > 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Number of elements in source is divisible by chunk size" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.front() == chunk2.back() </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Number of elements in source is divisible by chunk size" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.front() == chunk2.back() </Original> <Expanded> 2 == 2 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Number of elements in source is divisible by chunk size" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.front() == chunk2.back() </Original> <Expanded> 3 == 3 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Number of elements in source is not divisible by chunk size" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.front() == chunk2.back() </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.front() < 3 </Original> <Expanded> 1 < 3 </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Number of elements in source is not divisible by chunk size" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.front() == chunk2.back() </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.front() < 3 </Original> <Expanded> 2 < 3 </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Chunk size of zero" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Chunk size of zero" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Chunk size of zero" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk2.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Chunking a generator into sized pieces" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="Throws on too small generators" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> chunk(2, value(1)), Catch::GeneratorException </Original> <Expanded> chunk(2, value(1)), Catch::GeneratorException </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Generators -- simple" tags="[generators]" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -3 < 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -2 < 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -1 < 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 4 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 4 > 2 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 4 > 3 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -3 < 2 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -2 < 2 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -1 < 2 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 8 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 8 > 2 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 8 > 3 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -3 < 3 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -2 < 3 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="one" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> j < i </Original> <Expanded> -1 < 3 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 12 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 12 > 2 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> 4u * i > str.size() </Original> <Expanded> 12 > 3 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Generators internals" tags="[generators][internals]" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Single value" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 123 </Original> <Expanded> 123 == 123 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Preset values" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 3 </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="6" failures="0" expectedFailures="0"/> </Section> <Section name="Generator combinator" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 4 </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <Section name="Explicitly typed generator sequence" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get().size() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == "aa" </Original> <Expanded> "aa" == "aa" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == "bb" </Original> <Expanded> "bb" == "bb" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == "cc" </Original> <Expanded> "cc" == "cc" </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="7" failures="0" expectedFailures="0"/> </Section> <Section name="Filter generator" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 3 </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> filter([] (int) { return false; }, value(1)), Catch::GeneratorException </Original> <Expanded> filter([] (int) { return false; }, value(1)), Catch::GeneratorException </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <Section name="Take generator" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Take less" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="Take generator" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Take more" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Map with explicit return type" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2.0 </Original> <Expanded> 2.0 == 2.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 4.0 </Original> <Expanded> 4.0 == 4.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 6.0 </Original> <Expanded> 6.0 == 6.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="6" failures="0" expectedFailures="0"/> </Section> <Section name="Map with deduced return type" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2.0 </Original> <Expanded> 2.0 == 2.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 4.0 </Original> <Expanded> 4.0 == 4.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 6.0 </Original> <Expanded> 6.0 == 6.0 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="6" failures="0" expectedFailures="0"/> </Section> <Section name="Repeat" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Singular repeat" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 3 </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Repeat" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Actual repeat" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 3 </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 3 </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="12" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="12" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Positive auto step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -2 </Original> <Expanded> -2 == -2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Negative auto step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Positive manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Exact" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -7 </Original> <Expanded> -7 == -7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -4 </Original> <Expanded> -4 == -4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Positive manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Slightly over end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -7 </Original> <Expanded> -7 == -7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -4 </Original> <Expanded> -4 == -4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Positive manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Slightly under end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -7 </Original> <Expanded> -7 == -7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -4 </Original> <Expanded> -4 == -4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Negative manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Exact" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -4 </Original> <Expanded> -4 == -4 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Negative manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Slightly over end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -4 </Original> <Expanded> -4 == -4 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Negative manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Section name="Slightly under end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -4 </Original> <Expanded> -4 == -4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.next() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> gen.get() == -7 </Original> <Expanded> -7 == -7 </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > <Original> !(gen.next()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="10" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Greater-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d >= Approx( 1.22 ) </Original> <Expanded> 1.23 >= Approx( 1.22 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d >= Approx( 1.23 ) </Original> <Expanded> 1.23 >= Approx( 1.23 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> !(d >= Approx( 1.24 )) </Original> <Expanded> !(1.23 >= Approx( 1.24 )) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d >= Approx( 1.24 ).epsilon(0.1) </Original> <Expanded> 1.23 >= Approx( 1.24 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="INFO and WARN do not abort tests" tags="[.][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> this is a message </Info> <Warning> this is a warning </Warning> <OverallResult success="false"/> </TestCase> <TestCase name="INFO gets logged on failure" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> this message should be logged </Info> <Info> so should this </Info> <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.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" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> this message may be logged later </Info> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> a == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <Info> this message may be logged later </Info> <Info> this message should be logged </Info> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> a == 1 </Original> <Expanded> 2 == 1 </Expanded> </Expression> <Info> this message may be logged later </Info> <Info> this message should be logged </Info> <Info> and this, but later </Info> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> a == 0 </Original> <Expanded> 2 == 0 </Expanded> </Expression> <Info> this message may be logged later </Info> <Info> this message should be logged </Info> <Info> and this, but later </Info> <Info> but not this </Info> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> a == 2 </Original> <Expanded> 2 == 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="INFO is reset for each loop" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> current counter 0 </Info> <Info> i := 0 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 0 < 10 </Expanded> </Expression> <Info> current counter 1 </Info> <Info> i := 1 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 1 < 10 </Expanded> </Expression> <Info> current counter 2 </Info> <Info> i := 2 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 2 < 10 </Expanded> </Expression> <Info> current counter 3 </Info> <Info> i := 3 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 3 < 10 </Expanded> </Expression> <Info> current counter 4 </Info> <Info> i := 4 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 4 < 10 </Expanded> </Expression> <Info> current counter 5 </Info> <Info> i := 5 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 5 < 10 </Expanded> </Expression> <Info> current counter 6 </Info> <Info> i := 6 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 6 < 10 </Expanded> </Expression> <Info> current counter 7 </Info> <Info> i := 7 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 7 < 10 </Expanded> </Expression> <Info> current counter 8 </Info> <Info> i := 8 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 8 < 10 </Expanded> </Expression> <Info> current counter 9 </Info> <Info> i := 9 </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.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/<exe-name>/UsageTests/Message.tests.cpp" > <Original> i < 10 </Original> <Expanded> 10 < 10 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Inequality checks that should fail" tags="[!shouldfail][.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven != 7 </Original> <Expanded> 7 != 7 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.double_pi != Approx( 3.1415926535 ) </Original> <Expanded> 3.1415926535 != Approx( 3.1415926535 ) </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello != "hello" </Original> <Expanded> "hello" != "hello" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello.size() != 5 </Original> <Expanded> 5 != 5 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Inequality checks that should succeed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven != 6 </Original> <Expanded> 7 != 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven != 8 </Original> <Expanded> 7 != 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.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/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.double_pi != Approx( 3.1415 ) </Original> <Expanded> 3.1415926535 != Approx( 3.1415 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello != "goodbye" </Original> <Expanded> "hello" != "goodbye" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello != "hell" </Original> <Expanded> "hello" != "hell" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello != "hello1" </Original> <Expanded> "hello" != "hello1" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello.size() != 6 </Original> <Expanded> 5 != 6 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Less-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d <= Approx( 1.24 ) </Original> <Expanded> 1.23 <= Approx( 1.24 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d <= Approx( 1.23 ) </Original> <Expanded> 1.23 <= Approx( 1.23 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> !(d <= Approx( 1.22 )) </Original> <Expanded> !(1.23 <= Approx( 1.22 )) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d <= Approx( 1.22 ).epsilon(0.1) </Original> <Expanded> 1.23 <= Approx( 1.22 ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="ManuallyRegistered" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="Matchers can be (AllOf) composed with the && operator" tags="[matchers][operator&&][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Contains("string") && Contains("abc") && Contains("substring") && Contains("contains") </Original> <Expanded> "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" and contains: "substring" and contains: "contains" ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Matchers can be (AnyOf) composed with the || operator" tags="[matchers][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Contains("string") || Contains("different") || Contains("random") </Original> <Expanded> "this string contains 'abc' as a substring" ( contains: "string" or contains: "different" or contains: "random" ) </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching2(), Contains("string") || Contains("different") || Contains("random") </Original> <Expanded> "some completely different text that contains one common word" ( contains: "string" or contains: "different" or contains: "random" ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Matchers can be composed with both && and ||" tags="[matchers][operator&&][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), (Contains("string") || Contains("different")) && Contains("substring") </Original> <Expanded> "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "substring" ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Matchers can be composed with both && and || - failing" tags="[.][failing][matchers][operator&&][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), (Contains("string") || Contains("different")) && Contains("random") </Original> <Expanded> "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "random" ) </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Matchers can be negated (Not) with the ! operator" tags="[matchers][not][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), !Contains("different") </Original> <Expanded> "this string contains 'abc' as a substring" not contains: "different" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Matchers can be negated (Not) with the ! operator - failing" tags="[.][failing][matchers][not][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), !Contains("substring") </Original> <Expanded> "this string contains 'abc' as a substring" not contains: "substring" </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Mismatching exception messages failing the test" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), "expected exception" </Original> <Expanded> "expected exception" equals: "expected exception" </Expanded> </Expression> <Expression success="false" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), "should fail" </Original> <Expanded> "expected exception" equals: "should fail" </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Nested generators and captured variables" tags="[generators]" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 3 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 4 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 5 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 6 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> -5 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> -4 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 90 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 91 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 92 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 93 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 94 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 95 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 96 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 97 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 98 > -6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> values > -6 </Original> <Expanded> 99 > -6 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Nice descriptive name" tags="[.][tag1][tag2][tag3]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Warning> This one ran </Warning> <OverallResult success="false"/> </TestCase> <TestCase name="Non-std exceptions can be translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > custom exception </Exception> <OverallResult success="false"/> </TestCase> <TestCase name="Objects that evaluated in boolean contexts can be checked" tags="[SafeBool][Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> True </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> !False </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> !(False) </Original> <Expanded> !{?} </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Optionally static assertions" tags="[compilation]" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="Ordering comparison checks that should fail" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven > 7 </Original> <Expanded> 7 > 7 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven < 7 </Original> <Expanded> 7 < 7 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven > 8 </Original> <Expanded> 7 > 8 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven < 6 </Original> <Expanded> 7 < 6 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven < 0 </Original> <Expanded> 7 < 0 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven < -1 </Original> <Expanded> 7 < -1 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven >= 8 </Original> <Expanded> 7 >= 8 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven <= 6 </Original> <Expanded> 7 <= 6 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.float_nine_point_one < 9 </Original> <Expanded> 9.1f < 9 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.float_nine_point_one > 10 </Original> <Expanded> 9.1f > 10 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.float_nine_point_one > 9.2 </Original> <Expanded> 9.1f > 9.2 </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello > "hello" </Original> <Expanded> "hello" > "hello" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello < "hello" </Original> <Expanded> "hello" < "hello" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello > "hellp" </Original> <Expanded> "hello" > "hellp" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello > "z" </Original> <Expanded> "hello" > "z" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello < "hellm" </Original> <Expanded> "hello" < "hellm" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello < "a" </Original> <Expanded> "hello" < "a" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello >= "z" </Original> <Expanded> "hello" >= "z" </Expanded> </Expression> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello <= "a" </Original> <Expanded> "hello" <= "a" </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Ordering comparison checks that should succeed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven < 8 </Original> <Expanded> 7 < 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven > 6 </Original> <Expanded> 7 > 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven > 0 </Original> <Expanded> 7 > 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven > -1 </Original> <Expanded> 7 > -1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven >= 7 </Original> <Expanded> 7 >= 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven >= 6 </Original> <Expanded> 7 >= 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven <= 7 </Original> <Expanded> 7 <= 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.int_seven <= 8 </Original> <Expanded> 7 <= 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.float_nine_point_one > 9 </Original> <Expanded> 9.1f > 9 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.float_nine_point_one < 10 </Original> <Expanded> 9.1f < 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.float_nine_point_one < 9.2 </Original> <Expanded> 9.1f < 9.2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello <= "hello" </Original> <Expanded> "hello" <= "hello" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello >= "hello" </Original> <Expanded> "hello" >= "hello" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello < "hellp" </Original> <Expanded> "hello" < "hellp" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello < "zebra" </Original> <Expanded> "hello" < "zebra" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello > "hellm" </Original> <Expanded> "hello" > "hellm" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> data.str_hello > "a" </Original> <Expanded> "hello" > "a" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Output from all sections is reported" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Section name="one" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > Message from section one </Failure> <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > Message from section two </Failure> <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <OverallResult success="false"/> </TestCase> <TestCase name="Parse test names and tags" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="Empty test spec should have no filters" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches(tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcD ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcD ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcD ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcD ) == true </Original> <Expanded> true == true </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <Section name="Just wildcard" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcD ) == true </Original> <Expanded> true == true </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <Section name="Single tag" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="Two tags" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcD ) == true </Original> <Expanded> true == true </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <Section name="name exclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcD ) == false </Original> <Expanded> false == false </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <Section name="empty tag" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.hasFilters() == true </Original> <Expanded> true == true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcA ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcB ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> spec.matches( tcC ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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="Pointers can be compared to null" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> p == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> p == pNULL </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> p != 0 </Original> <Expanded> 0x<hex digits> != 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> cp != 0 </Original> <Expanded> 0x<hex digits> != 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> cpc != 0 </Original> <Expanded> 0x<hex digits> != 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> returnsNull() == 0 </Original> <Expanded> {null string} == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> returnsConstNull() == 0 </Original> <Expanded> {null string} == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> 0 != p </Original> <Expanded> 0 != 0x<hex digits> </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Precision of floating point stringification can be set" tags="[floatingPoint][toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Section name="Floats" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> str1.size() == 3 + 5 </Original> <Expanded> 8 == 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> str2.size() == 3 + 10 </Original> <Expanded> 13 == 13 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Double" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> str1.size() == 2 + 5 </Original> <Expanded> 7 == 7 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> str2.size() == 2 + 15 </Original> <Expanded> 17 == 17 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Predicate matcher can accept const char*" tags="[compilation][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> "foo", Predicate<const char*>([] (const char* const&) { return true; }) </Original> <Expanded> "foo" matches undescribed predicate </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Process can be configured on command line" tags="[command-line][config]" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="empty args don't cause a crash" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.processName == "" </Original> <Expanded> "" == "" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="default - no arguments" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.processName == "test" </Original> <Expanded> "test" == "test" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.shouldDebugBreak == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.abortAfter == -1 </Original> <Expanded> -1 == -1 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.noThrow == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.reporterName == "console" </Original> <Expanded> "console" == "console" </Expanded> </Expression> <Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> !(cfg.hasTestFilters()) </Original> <Expanded> !false </Expanded> </Expression> <OverallResults successes="7" failures="0" expectedFailures="0"/> </Section> <Section name="test lists" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="Specify one test case using" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.hasTestFilters() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.testSpec().matches(fakeTestCase("notIncluded")) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.testSpec().matches(fakeTestCase("test1")) </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="test lists" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="Specify one test case exclusion using exclude:" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.hasTestFilters() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.testSpec().matches(fakeTestCase("test1")) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.testSpec().matches(fakeTestCase("alwaysIncluded")) </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="test lists" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="Specify one test case exclusion using ~" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.hasTestFilters() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.testSpec().matches(fakeTestCase("test1")) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cfg.testSpec().matches(fakeTestCase("alwaysIncluded")) </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="reporter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-r/console" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-r", "console"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.reporterName == "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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-r/xml" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-r", "xml"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.reporterName == "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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="--reporter/junit" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "--reporter", "junit"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.reporterName == "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="reporter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="Only one reporter is accepted" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> !(cli.parse({ "test", "-r", "xml", "-r", "junit" })) </Original> <Expanded> !{?} </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="reporter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="must match one of the available ones" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> !result </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result.errorMessage(), Contains("Unrecognized reporter") </Original> <Expanded> "Unrecognized reporter, 'unsupported'. Check available with --list-reporters" contains: "Unrecognized reporter" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="debugger" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-b" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-b"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="--break" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "--break"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-a aborts after first failure" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-a"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-x 2 aborts after two failures" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-x", "2"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-x must be numeric" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> !result </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result.errorMessage(), Contains("convert") && Contains("oops") </Original> <Expanded> "Unable to convert 'oops' to destination type" ( contains: "convert" and contains: "oops" ) </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="nothrow" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-e" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-e"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.noThrow </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="nothrow" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="--nothrow" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "--nothrow"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.noThrow </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="output filename" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="-o filename" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-o", "filename.ext"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="--out" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "--out", "filename.ext"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.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" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="Single character flags can be combined" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "-abe"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.abortAfter == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.shouldDebugBreak </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.noThrow == true </Original> <Expanded> true == true </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="without option" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.useColour == UseColour::Auto </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="auto" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "--use-colour", "auto"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.useColour == UseColour::Auto </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="yes" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "--use-colour", "yes"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.useColour == UseColour::Yes </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="no" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({"test", "--use-colour", "no"}) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.useColour == UseColour::No </Original> <Expanded> 2 == 2 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="error" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> !result </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> result.errorMessage(), Contains( "colour mode must be one of" ) </Original> <Expanded> "colour mode must be one of: auto, yes or no. 'wrong' not recognised" contains: "colour mode must be one of" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Benchmark options" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="samples" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({ "test", "--benchmark-samples=200" }) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.benchmarkSamples == 200 </Original> <Expanded> 200 == 200 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Benchmark options" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="resamples" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({ "test", "--benchmark-resamples=20000" }) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.benchmarkResamples == 20000 </Original> <Expanded> 20000 (0x<hex digits>) == 20000 (0x<hex digits>) </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Benchmark options" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="resamples" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({ "test", "--benchmark-confidence-interval=0.99" }) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.benchmarkConfidenceInterval == Catch::Detail::Approx(0.99) </Original> <Expanded> 0.99 == Approx( 0.99 ) </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Benchmark options" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Section name="resamples" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> cli.parse({ "test", "--benchmark-no-analysis" }) </Original> <Expanded> {?} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <Original> config.benchmarkNoAnalysis </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="Product with differing arities - std::tuple<int, double, float>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> std::tuple_size<TestType>::value >= 1 </Original> <Expanded> 3 >= 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Product with differing arities - std::tuple<int, double>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> std::tuple_size<TestType>::value >= 1 </Original> <Expanded> 2 >= 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Product with differing arities - std::tuple<int>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> std::tuple_size<TestType>::value >= 1 </Original> <Expanded> 1 >= 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Reconstruction should be based on stringification: #914" tags="[.][Decomposition][failing]" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" > <Original> truthy(false) </Original> <Expanded> Hey, its truthy! </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Regex string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Matches("this STRING contains 'abc' as a substring") </Original> <Expanded> "this string contains 'abc' as a substring" matches "this STRING contains 'abc' as a substring" case sensitively </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Matches("contains 'abc' as a substring") </Original> <Expanded> "this string contains 'abc' as a substring" matches "contains 'abc' as a substring" case sensitively </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Matches("this string contains 'abc' as a") </Original> <Expanded> "this string contains 'abc' as a substring" matches "this string contains 'abc' as a" case sensitively </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Regression test #1" tags="[matchers][vector]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> actual, !UnorderedEquals(expected) </Original> <Expanded> { 'a', 'b' } not UnorderedEquals: { 'c', 'b' } </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="SUCCEED counts as a test pass" tags="[messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="SUCCEED does not require an argument" tags="[.][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or methods" tags="[bdd][fixtures]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Given: No operations precede me" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> before == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Section name="When: We get the count" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Then: Subsequently values are higher" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.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> <TestCase name="Scenario: Do that thing with the thing" tags="[Tags]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Given: This stuff exists" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="And given: And some assumption" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="When: I do this" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Then: it should do this" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> itDoesThis() </Original> <Expanded> true </Expanded> </Expression> <Section name="And: do that" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.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> <OverallResults successes="2" 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" tags="[anotherReallyLongTagNameButThisOneHasNoObviousWrapPointsSoShouldSplitWithinAWordUsingADashCharacter][long][lots][one very long tag name that should cause line wrapping writing out using the list command][tags][verbose][very long tags]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Given: A section name that is so long that it cannot fit in a single console width" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="When: The test headers are printed as part of the normal running of the scenario" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <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: Vector resizing affects size and capacity" tags="[bdd][capacity][size][vector]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Given: an empty vector" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Section name="When: it is made larger" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Then: the size and capacity go up" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> v.size() == 10 </Original> <Expanded> 10 == 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> v.capacity() >= 10 </Original> <Expanded> 10 >= 10 </Expanded> </Expression> <Section name="And when: it is made smaller again" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Then: the size goes down but the capacity stays the same" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.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" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Section name="When: we reserve more space" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Section name="Then: The capacity is increased but the size remains the same" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" > <Original> v.capacity() >= 10 </Original> <Expanded> 10 >= 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.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="Sends stuff to stdout and stderr" tags="[.]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="false"> <StdOut> A string sent directly to stdout </StdOut> <StdErr> A string sent directly to stderr A string sent to stderr via clog </StdErr> </OverallResult> </TestCase> <TestCase name="Some simple comparisons between doubles" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == Approx( 1.23 ) </Original> <Expanded> 1.23 == Approx( 1.23 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d != Approx( 1.22 ) </Original> <Expanded> 1.23 != Approx( 1.22 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d != Approx( 1.24 ) </Original> <Expanded> 1.23 != Approx( 1.24 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == 1.23_a </Original> <Expanded> 1.23 == Approx( 1.23 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d != 1.22_a </Original> <Expanded> 1.23 != Approx( 1.22 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx( d ) == 1.23 </Original> <Expanded> Approx( 1.23 ) == 1.23 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx( d ) != 1.22 </Original> <Expanded> Approx( 1.23 ) != 1.22 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> Approx( d ) != 1.24 </Original> <Expanded> Approx( 1.23 ) != 1.24 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> INFINITY == Approx(INFINITY) </Original> <Expanded> inff == Approx( inf ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Standard output from all sections is reported" tags="[.][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Section name="one" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <Section name="two" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <OverallResult success="false"> <StdOut> Message from section one Message from section two </StdOut> </OverallResult> </TestCase> <TestCase name="StartsWith string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), StartsWith("This String") </Original> <Expanded> "this string contains 'abc' as a substring" starts with: "This String" </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), StartsWith("string", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" starts with: "string" (case insensitive) </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Static arrays are convertible to string" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Section name="Single item" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify(singular) == "{ 1 }" </Original> <Expanded> "{ 1 }" == "{ 1 }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Multiple" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify(arr) == "{ 3, 2, 1 }" </Original> <Expanded> "{ 3, 2, 1 }" == "{ 3, 2, 1 }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Non-trivial inner items" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify(arr) == R"({ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } })" </Original> <Expanded> "{ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } }" == "{ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="String matchers" tags="[matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Contains("string") </Original> <Expanded> "this string contains 'abc' as a substring" contains: "string" </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Contains("string", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" contains: "string" (case insensitive) </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), Contains("aBC", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" contains: "abc" (case insensitive) </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), StartsWith("THIS", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" starts with: "this" (case insensitive) </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), EndsWith("substring") </Original> <Expanded> "this string contains 'abc' as a substring" ends with: "substring" </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> testStringForMatching(), EndsWith(" SuBsTrInG", Catch::CaseSensitive::No) </Original> <Expanded> "this string contains 'abc' as a substring" ends with: " substring" (case insensitive) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="StringRef" tags="[StringRef][Strings]" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="Empty string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> empty.empty() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> empty.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> std::strcmp( empty.c_str(), "" ) == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <Section name="From string literal" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> s.empty() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> s.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isSubstring( s ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> std::strcmp( rawChars, "hello" ) == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Section name="c_str() does not cause copy" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isOwned( s ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> s.c_str() == rawChars </Original> <Expanded> "hello" == "hello" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isOwned( s ) == false </Original> <Expanded> false == false </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="7" failures="0" expectedFailures="0"/> </Section> <Section name="From sub-string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> original == "original" </Original> <Expanded> original == "original" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isSubstring( original ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isOwned( original ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isOwned( original ) </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="zero-based substring" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> ss.empty() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> ss.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> std::strcmp( ss.c_str(), "hello" ) == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> ss == "hello" </Original> <Expanded> hello == "hello" </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="c_str() causes copy" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isSubstring( ss ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isOwned( ss ) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> rawChars == s.currentData() </Original> <Expanded> "hello world!" == "hello world!" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> ss.c_str() != rawChars </Original> <Expanded> "hello" != "hello world!" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isOwned( ss ) </Original> <Expanded> true </Expanded> </Expression> <Section name="Self-assignment after substring" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> isOwned(ss) == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> ss == "hello" </Original> <Expanded> hello == "hello" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> rawChars == ss.currentData() </Original> <Expanded> "hello world!" == "hello world!" </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="8" failures="0" expectedFailures="0"/> </Section> <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="non-zero-based substring" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> ss.size() == 6 </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> std::strcmp( ss.c_str(), "world!" ) == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="Pointer values of full refs should match" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> s.c_str() == s2.c_str() </Original> <Expanded> "hello world!" == "hello world!" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="Pointer values of substring refs should not match" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> s.c_str() != ss.c_str() </Original> <Expanded> "hello world!" != "hello" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Comparisons" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> StringRef("hello") == StringRef("hello") </Original> <Expanded> hello == hello </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> StringRef("hello") != StringRef("cello") </Original> <Expanded> hello != cello </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="from std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="implicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> sr == "a standard string" </Original> <Expanded> a standard string == "a standard string" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> sr.size() == stdStr.size() </Original> <Expanded> 17 == 17 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="from std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="explicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> sr == "a standard string" </Original> <Expanded> a standard string == "a standard string" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> sr.size() == stdStr.size() </Original> <Expanded> 17 == 17 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="from std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="assigned" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> sr == "a standard string" </Original> <Expanded> a standard string == "a standard string" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> sr.size() == stdStr.size() </Original> <Expanded> 17 == 17 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="to std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="implicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> stdStr == "a stringref" </Original> <Expanded> "a stringref" == "a stringref" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> stdStr.size() == sr.size() </Original> <Expanded> 11 == 11 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="to std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="explicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> stdStr == "a stringref" </Original> <Expanded> "a stringref" == "a stringref" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> stdStr.size() == sr.size() </Original> <Expanded> 11 == 11 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="to std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="assigned" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> stdStr == "a stringref" </Original> <Expanded> "a stringref" == "a stringref" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> stdStr.size() == sr.size() </Original> <Expanded> 11 == 11 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Counting utf-8 codepoints" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> ascii.numberOfCharacters() == ascii.size() </Original> <Expanded> 39 == 39 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> simpleu8.numberOfCharacters() == 30 </Original> <Expanded> 30 == 30 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> emojis.numberOfCharacters() == 9 </Original> <Expanded> 9 == 9 </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Stringifying std::chrono::duration helpers" tags="[chrono][toString]" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Original> minute == seconds </Original> <Expanded> 1 m == 60 s </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Original> hour != seconds </Original> <Expanded> 1 h != 60 s </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Original> micro != milli </Original> <Expanded> 1 us != 1 ms </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Original> nano != micro </Original> <Expanded> 1 ns != 1 us </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Stringifying std::chrono::duration with weird ratios" tags="[chrono][toString]" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Original> half_minute != femto_second </Original> <Expanded> 1 [30/1]s != 1 fs </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Original> pico_second != atto_second </Original> <Expanded> 1 ps != 1 as </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Stringifying std::chrono::time_point<system_clock>" tags="[chrono][toString]" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" > <Original> now != later </Original> <Expanded> {iso8601-timestamp} != {iso8601-timestamp} </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Tabs and newlines show in output" tags="[.][failing][whitespace]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> s1 == s2 </Original> <Expanded> "if ($b == 10) { $a = 20; }" == "if ($b == 10) { $a = 20; } " </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="Tag alias can be registered against tag patterns" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > <Section name="The same tag alias can only be registered once" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.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/<exe-name>/IntrospectiveTests/Tag.tests.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/<exe-name>/IntrospectiveTests/Tag.tests.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/<exe-name>/IntrospectiveTests/Tag.tests.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]" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.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/<exe-name>/IntrospectiveTests/Tag.tests.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/<exe-name>/IntrospectiveTests/Tag.tests.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/<exe-name>/IntrospectiveTests/Tag.tests.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="Template test case method with test types specified inside std::tuple - MyTypes - 0" tags="[class][list][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case method with test types specified inside std::tuple - MyTypes - 1" tags="[class][list][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case method with test types specified inside std::tuple - MyTypes - 2" tags="[class][list][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > <Original> Template_Fixture<TestType>::m_a == 1 </Original> <Expanded> 1.0 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 0" tags="[list][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> sizeof(TestType) > 0 </Original> <Expanded> 1 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 1" tags="[list][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> sizeof(TestType) > 0 </Original> <Expanded> 1 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 2" tags="[list][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> sizeof(TestType) > 0 </Original> <Expanded> 4 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 0" tags="[list][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> sizeof(TestType) > 0 </Original> <Expanded> 4 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 1" tags="[list][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> sizeof(TestType) > 0 </Original> <Expanded> 1 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 2" tags="[list][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> sizeof(TestType) > 0 </Original> <Expanded> 4 > 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="TemplateTest: vectors can be sized and resized - float" tags="[template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 10 </Original> <Expanded> 10 == 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="TemplateTest: vectors can be sized and resized - int" tags="[template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 10 </Original> <Expanded> 10 == 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="TemplateTest: vectors can be sized and resized - std::string" tags="[template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 10 </Original> <Expanded> 10 == 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="TemplateTest: vectors can be sized and resized - std::tuple<int,float>" tags="[template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 10 </Original> <Expanded> 10 == 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" tags="[nttp][template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 6 >= 6 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 2 * V </Original> <Expanded> 12 == 12 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 12 >= 12 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 6 >= 6 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 6 >= 6 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 6 >= 6 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 12 >= 12 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 6 >= 6 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 6 >= 6 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="TemplateTestSig: vectors can be sized and resized - float,4" tags="[nttp][template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 4 >= 4 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 2 * V </Original> <Expanded> 8 == 8 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 8 >= 8 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 4 >= 4 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 4 >= 4 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 4 >= 4 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 8 >= 8 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 4 >= 4 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 4 == 4 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 4 >= 4 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="TemplateTestSig: vectors can be sized and resized - int,5" tags="[nttp][template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 2 * V </Original> <Expanded> 10 == 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 10 >= 10 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 10 >= 10 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="TemplateTestSig: vectors can be sized and resized - std::string,15" tags="[nttp][template][vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 15 == 15 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 15 >= 15 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 2 * V </Original> <Expanded> 30 == 30 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 30 >= 30 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 15 == 15 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 15 >= 15 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 15 >= 15 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 15 == 15 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 15 >= 15 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 15 == 15 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 2 * V </Original> <Expanded> 30 >= 30 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 15 == 15 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 15 >= 15 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == V </Original> <Expanded> 15 == 15 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= V </Original> <Expanded> 15 >= 15 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Test case with one argument" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="Test enum bit values" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> 0x<hex digits> == bit30and31 </Original> <Expanded> 3221225472 (0x<hex digits>) == 3221225472 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="The NO_FAIL macro reports a failure but does not fail the test" tags="[messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Expression success="false" type="CHECK_NOFAIL" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> 1 == 2 </Original> <Expanded> 1 == 2 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="This test 'should' fail but doesn't" tags="[!shouldfail][.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="false"/> </TestCase> <TestCase name="Thrown string literals are translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > For some reason someone is throwing a string literal! </Exception> <OverallResult success="false"/> </TestCase> <TestCase name="Tracker" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Section name="successfully close one section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isSuccessfullyCompleted() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isSuccessfullyCompleted() </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Section name="fail one section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isComplete() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isSuccessfullyCompleted() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isSuccessfullyCompleted() == false </Original> <Expanded> false == false </Expanded> </Expression> <Section name="re-enter after failed section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase2.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1b.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Section name="fail one section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isComplete() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isSuccessfullyCompleted() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isSuccessfullyCompleted() == false </Original> <Expanded> false == false </Expanded> </Expression> <Section name="re-enter after failed section and find next section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase2.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1b.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Section name="successfully close one section, then find another" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Section name="Re-enter - skips S1 and enters S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase2.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1b.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2b.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() == false </Original> <Expanded> false == false </Expanded> </Expression> <Section name="Successfully close S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2b.isSuccessfullyCompleted() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase2.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Section name="successfully close one section, then find another" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Section name="Re-enter - skips S1 and enters S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase2.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1b.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2b.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() == false </Original> <Expanded> false == false </Expanded> </Expression> <Section name="fail S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> ctx.completedCycle() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2b.isComplete() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2b.isSuccessfullyCompleted() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase2.isSuccessfullyCompleted() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase3.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1c.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2c.isOpen() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Section name="open a nested section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2.isOpen() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s2.isComplete() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> s1.isComplete() </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() == false </Original> <Expanded> false == false </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" > <Original> testCase.isComplete() </Original> <Expanded> true </Expanded> </Expression> <OverallResults successes="6" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Unexpected exceptions can be translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > 3.14 </Exception> <OverallResult success="false"/> </TestCase> <TestCase name="Use a custom approx" tags="[Approx][custom]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == approx( 1.23 ) </Original> <Expanded> 1.23 == Approx( 1.23 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == approx( 1.22 ) </Original> <Expanded> 1.23 == Approx( 1.22 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d == approx( 1.24 ) </Original> <Expanded> 1.23 == Approx( 1.24 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> d != approx( 1.25 ) </Original> <Expanded> 1.23 != Approx( 1.25 ) </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> approx( d ) == 1.23 </Original> <Expanded> Approx( 1.23 ) == 1.23 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> approx( d ) == 1.22 </Original> <Expanded> Approx( 1.23 ) == 1.22 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> approx( d ) == 1.24 </Original> <Expanded> Approx( 1.23 ) == 1.24 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > <Original> approx( d ) != 1.25 </Original> <Expanded> Approx( 1.23 ) != 1.25 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="Variadic macros" tags="[sections][variadic]" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" > <Section name="Section with one argument" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Vector Approx matcher" tags="[approx][matchers][vector]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Empty vector is roughly equal to an empty vector" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, Approx(empty) </Original> <Expanded> { } is approx: { } </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Vectors with elements" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="A vector is approx equal to itself" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v1, Approx(v1) </Original> <Expanded> { 1.0, 2.0, 3.0 } is approx: { 1.0, 2.0, 3.0 } </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Vectors with elements" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Different length" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v1, !Approx(temp) </Original> <Expanded> { 1.0, 2.0, 3.0 } not is approx: { 1.0, 2.0, 3.0, 4.0 } </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Vectors with elements" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Same length, different elements" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v1, !Approx(v2) </Original> <Expanded> { 1.0, 2.0, 3.0 } not is approx: { 1.5, 2.5, 3.5 } </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v1, Approx(v2).margin(0.5) </Original> <Expanded> { 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 } </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v1, Approx(v2).epsilon(0.5) </Original> <Expanded> { 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 } </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v1, Approx(v2).epsilon(0.1).scale(500) </Original> <Expanded> { 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 } </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Vector Approx matcher -- failing" tags="[.][approx][failing][matchers][vector]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Empty and non empty vectors are not approx equal" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, Approx(t1) </Original> <Expanded> { } is approx: { 1.0, 2.0 } </Expanded> </Expression> <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <Section name="Just different vectors" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v1, Approx(v2) </Original> <Expanded> { 2.0, 4.0, 6.0 } is approx: { 1.0, 3.0, 5.0 } </Expanded> </Expression> <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <OverallResult success="false"/> </TestCase> <TestCase name="Vector matchers" tags="[matchers][vector]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Contains (element)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, VectorContains(1) </Original> <Expanded> { 1, 2, 3 } Contains: 1 </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, VectorContains(2) </Original> <Expanded> { 1, 2, 3 } Contains: 2 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="Contains (vector)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Contains(v2) </Original> <Expanded> { 1, 2, 3 } Contains: { 1, 2 } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Contains(v2) </Original> <Expanded> { 1, 2, 3 } Contains: { 1, 2, 3 } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Contains(empty) </Original> <Expanded> { 1, 2, 3 } Contains: { } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, Contains(empty) </Original> <Expanded> { } Contains: { } </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="Contains (element), composed" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, VectorContains(1) && VectorContains(2) </Original> <Expanded> { 1, 2, 3 } ( Contains: 1 and Contains: 2 ) </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="Equals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Equals(v) </Original> <Expanded> { 1, 2, 3 } Equals: { 1, 2, 3 } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, Equals(empty) </Original> <Expanded> { } Equals: { } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Equals(v2) </Original> <Expanded> { 1, 2, 3 } Equals: { 1, 2, 3 } </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <Section name="UnorderedEquals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, UnorderedEquals(v) </Original> <Expanded> { 1, 2, 3 } UnorderedEquals: { 1, 2, 3 } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, UnorderedEquals(empty) </Original> <Expanded> { } UnorderedEquals: { } </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> permuted, UnorderedEquals(v) </Original> <Expanded> { 1, 3, 2 } UnorderedEquals: { 1, 2, 3 } </Expanded> </Expression> <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> permuted, UnorderedEquals(v) </Original> <Expanded> { 2, 3, 1 } UnorderedEquals: { 1, 2, 3 } </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="Vector matchers that fail" tags="[.][failing][matchers][vector]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Section name="Contains (element)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, VectorContains(-1) </Original> <Expanded> { 1, 2, 3 } Contains: -1 </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, VectorContains(1) </Original> <Expanded> { } Contains: 1 </Expanded> </Expression> <OverallResults successes="0" failures="2" expectedFailures="0"/> </Section> <Section name="Contains (vector)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, Contains(v) </Original> <Expanded> { } Contains: { 1, 2, 3 } </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Contains(v2) </Original> <Expanded> { 1, 2, 3 } Contains: { 1, 2, 4 } </Expanded> </Expression> <OverallResults successes="0" failures="2" expectedFailures="0"/> </Section> <Section name="Equals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Equals(v2) </Original> <Expanded> { 1, 2, 3 } Equals: { 1, 2 } </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v2, Equals(v) </Original> <Expanded> { 1, 2 } Equals: { 1, 2, 3 } </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, Equals(v) </Original> <Expanded> { } Equals: { 1, 2, 3 } </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, Equals(empty) </Original> <Expanded> { 1, 2, 3 } Equals: { } </Expanded> </Expression> <OverallResults successes="0" failures="4" expectedFailures="0"/> </Section> <Section name="UnorderedEquals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> v, UnorderedEquals(empty) </Original> <Expanded> { 1, 2, 3 } UnorderedEquals: { } </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> empty, UnorderedEquals(v) </Original> <Expanded> { } UnorderedEquals: { 1, 2, 3 } </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> permuted, UnorderedEquals(v) </Original> <Expanded> { 1, 3 } UnorderedEquals: { 1, 2, 3 } </Expanded> </Expression> <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > <Original> permuted, UnorderedEquals(v) </Original> <Expanded> { 3, 1 } UnorderedEquals: { 1, 2, 3 } </Expanded> </Expression> <OverallResults successes="0" failures="4" expectedFailures="0"/> </Section> <OverallResult success="false"/> </TestCase> <TestCase name="When checked exceptions are thrown they can be expected or unexpected" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows(), std::domain_error </Original> <Expanded> thisThrows(), std::domain_error </Expanded> </Expression> <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisDoesntThrow() </Original> <Expanded> thisDoesntThrow() </Expanded> </Expression> <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows() </Original> <Expanded> thisThrows() </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="When unchecked exceptions are thrown directly they are always failures" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > unexpected exception </Exception> <OverallResult success="false"/> </TestCase> <TestCase name="When unchecked exceptions are thrown during a CHECK the test should continue" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows() == 0 </Original> <Expanded> thisThrows() == 0 </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > expected exception </Exception> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="When unchecked exceptions are thrown during a REQUIRE the test should abort fail" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows() == 0 </Original> <Expanded> thisThrows() == 0 </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > expected exception </Exception> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="When unchecked exceptions are thrown from functions they are always failures" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Original> thisThrows() == 0 </Original> <Expanded> thisThrows() == 0 </Expanded> <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > expected exception </Exception> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="When unchecked exceptions are thrown from sections they are always failures" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Section name="section name" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > unexpected exception </Exception> <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <OverallResult success="false"/> </TestCase> <TestCase name="When unchecked exceptions are thrown, but caught, they do not affect the test" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <OverallResult success="false"/> </TestCase> <TestCase name="Where the LHS is not a simple value" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Warning> Uncomment the code in this test to check that it gives a sensible compiler error </Warning> <OverallResult success="false"/> </TestCase> <TestCase name="Where there is more to the expression after the RHS" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Warning> Uncomment the code in this test to check that it gives a sensible compiler error </Warning> <OverallResult success="false"/> </TestCase> <TestCase name="X/level/0/a" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="X/level/0/b" tags="[Tricky][fizz]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="X/level/1/a" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="X/level/1/b" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="XmlEncode" tags="[XML]" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Section name="normal string" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.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" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode( "" ) == "" </Original> <Expanded> "" == "" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="string with ampersand" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.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" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.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" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode( "smith > jones" ) == "smith > jones" </Original> <Expanded> "smith > jones" == "smith > jones" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.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" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.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/<exe-name>/IntrospectiveTests/Xml.tests.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)" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode( "[\x01]" ) == "[\\x01]" </Original> <Expanded> "[\x01]" == "[\x01]" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="string with control char (x7F)" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.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="XmlEncode: UTF-8" tags="[UTF-8][XML]" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Section name="Valid utf-8 strings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode(u8"Here be 👾") == u8"Here be 👾" </Original> <Expanded> "Here be 👾" == "Here be 👾" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode(u8"šš") == u8"šš" </Original> <Expanded> "šš" == "šš" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xDF\xBF") == "\xDF\xBF" </Original> <Expanded> "߿" == "߿" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xE0\xA0\x80") == "\xE0\xA0\x80" </Original> <Expanded> "ࠀ" == "ࠀ" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xED\x9F\xBF") == "\xED\x9F\xBF" </Original> <Expanded> "" == "" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xEE\x80\x80") == "\xEE\x80\x80" </Original> <Expanded> "" == "" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xEF\xBF\xBF") == "\xEF\xBF\xBF" </Original> <Expanded> "" == "" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF0\x90\x80\x80") == "\xF0\x90\x80\x80" </Original> <Expanded> "𐀀" == "𐀀" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF4\x8F\xBF\xBF") == "\xF4\x8F\xBF\xBF" </Original> <Expanded> "" == "" </Expanded> </Expression> <OverallResults successes="9" failures="0" expectedFailures="0"/> </Section> <Section name="Invalid utf-8 strings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Section name="Various broken strings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("Here \xFF be 👾") == u8"Here \\xFF be 👾" </Original> <Expanded> "Here \xFF be 👾" == "Here \xFF be 👾" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xFF") == "\\xFF" </Original> <Expanded> "\xFF" == "\xFF" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xC5\xC5\xA0") == u8"\\xC5Š" </Original> <Expanded> "\xC5Š" == "\xC5Š" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF4\x90\x80\x80") == u8"\\xF4\\x90\\x80\\x80" </Original> <Expanded> "\xF4\x90\x80\x80" == "\xF4\x90\x80\x80" </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="Invalid utf-8 strings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Section name="Overlong encodings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xC0\x80") == u8"\\xC0\\x80" </Original> <Expanded> "\xC0\x80" == "\xC0\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF0\x80\x80\x80") == u8"\\xF0\\x80\\x80\\x80" </Original> <Expanded> "\xF0\x80\x80\x80" == "\xF0\x80\x80\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xC1\xBF") == u8"\\xC1\\xBF" </Original> <Expanded> "\xC1\xBF" == "\xC1\xBF" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xE0\x9F\xBF") == u8"\\xE0\\x9F\\xBF" </Original> <Expanded> "\xE0\x9F\xBF" == "\xE0\x9F\xBF" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF0\x8F\xBF\xBF") == u8"\\xF0\\x8F\\xBF\\xBF" </Original> <Expanded> "\xF0\x8F\xBF\xBF" == "\xF0\x8F\xBF\xBF" </Expanded> </Expression> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="5" failures="0" expectedFailures="0"/> </Section> <Section name="Invalid utf-8 strings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Section name="Surrogate pairs" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xED\xA0\x80") == "\xED\xA0\x80" </Original> <Expanded> "���" == "���" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xED\xAF\xBF") == "\xED\xAF\xBF" </Original> <Expanded> "���" == "���" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xED\xB0\x80") == "\xED\xB0\x80" </Original> <Expanded> "���" == "���" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xED\xBF\xBF") == "\xED\xBF\xBF" </Original> <Expanded> "���" == "���" </Expanded> </Expression> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="4" failures="0" expectedFailures="0"/> </Section> <Section name="Invalid utf-8 strings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Section name="Invalid start byte" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\x80") == u8"\\x80" </Original> <Expanded> "\x80" == "\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\x81") == u8"\\x81" </Original> <Expanded> "\x81" == "\x81" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xBC") == u8"\\xBC" </Original> <Expanded> "\xBC" == "\xBC" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xBF") == u8"\\xBF" </Original> <Expanded> "\xBF" == "\xBF" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF5\x80\x80\x80") == u8"\\xF5\\x80\\x80\\x80" </Original> <Expanded> "\xF5\x80\x80\x80" == "\xF5\x80\x80\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF6\x80\x80\x80") == u8"\\xF6\\x80\\x80\\x80" </Original> <Expanded> "\xF6\x80\x80\x80" == "\xF6\x80\x80\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF7\x80\x80\x80") == u8"\\xF7\\x80\\x80\\x80" </Original> <Expanded> "\xF7\x80\x80\x80" == "\xF7\x80\x80\x80" </Expanded> </Expression> <OverallResults successes="7" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="7" failures="0" expectedFailures="0"/> </Section> <Section name="Invalid utf-8 strings" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Section name="Missing continuation byte(s)" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xDE") == u8"\\xDE" </Original> <Expanded> "\xDE" == "\xDE" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xDF") == u8"\\xDF" </Original> <Expanded> "\xDF" == "\xDF" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xE0") == u8"\\xE0" </Original> <Expanded> "\xE0" == "\xE0" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xEF") == u8"\\xEF" </Original> <Expanded> "\xEF" == "\xEF" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF0") == u8"\\xF0" </Original> <Expanded> "\xF0" == "\xF0" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF4") == u8"\\xF4" </Original> <Expanded> "\xF4" == "\xF4" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xE0\x80") == u8"\\xE0\\x80" </Original> <Expanded> "\xE0\x80" == "\xE0\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xE0\xBF") == u8"\\xE0\\xBF" </Original> <Expanded> "\xE0\xBF" == "\xE0\xBF" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xE1\x80") == u8"\\xE1\\x80" </Original> <Expanded> "\xE1\x80" == "\xE1\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF0\x80") == u8"\\xF0\\x80" </Original> <Expanded> "\xF0\x80" == "\xF0\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF4\x80") == u8"\\xF4\\x80" </Original> <Expanded> "\xF4\x80" == "\xF4\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF0\x80\x80") == u8"\\xF0\\x80\\x80" </Original> <Expanded> "\xF0\x80\x80" == "\xF0\x80\x80" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" > <Original> encode("\xF4\x80\x80") == u8"\\xF4\\x80\\x80" </Original> <Expanded> "\xF4\x80\x80" == "\xF4\x80\x80" </Expanded> </Expression> <OverallResults successes="13" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="13" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="array<int, N> -> toString" tags="[array][containers][toString]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> Catch::Detail::stringify( empty ) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> Catch::Detail::stringify( oneValue ) == "{ 42 }" </Original> <Expanded> "{ 42 }" == "{ 42 }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> Catch::Detail::stringify( twoValues ) == "{ 42, 250 }" </Original> <Expanded> "{ 42, 250 }" == "{ 42, 250 }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="atomic if" tags="[0][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> x == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="boolean member" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> obj.prop != 0 </Original> <Expanded> 0x<hex digits> != 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="checkedElse" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECKED_ELSE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> flag </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> testCheckedElse( true ) </Original> <Expanded> true </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="checkedElse, failing" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="false" type="CHECKED_ELSE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> flag </Original> <Expanded> false </Expanded> </Expression> <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> testCheckedElse( false ) </Original> <Expanded> false </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="checkedIf" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECKED_IF" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> flag </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> testCheckedIf( true ) </Original> <Expanded> true </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="checkedIf, failing" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="false" type="CHECKED_IF" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> flag </Original> <Expanded> false </Expanded> </Expression> <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> testCheckedIf( false ) </Original> <Expanded> false </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="comparisons between const int variables" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> unsigned_char_var == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> unsigned_short_var == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> unsigned_int_var == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> unsigned_long_var == 1 </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="comparisons between int variables" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> long_var == unsigned_char_var </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> long_var == unsigned_short_var </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> long_var == unsigned_int_var </Original> <Expanded> 1 == 1 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" > <Original> long_var == unsigned_long_var </Original> <Expanded> 1 == 1 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="even more nested SECTION tests" tags="[sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="c" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="d (leaf)" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="c" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="e (leaf)" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="f (leaf)" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="first tag" tags="[tag1]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="false"/> </TestCase> <TestCase name="has printf" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > loose text artifact <OverallResult success="false"/> </TestCase> <TestCase name="just failure" tags="[.][fail][isolated info][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > Previous info should not be seen </Failure> <OverallResult success="false"/> </TestCase> <TestCase name="just failure after unscoped info" tags="[.][failing][info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > previous unscoped info SHOULD not be seen </Failure> <OverallResult success="false"/> </TestCase> <TestCase name="just info" tags="[info][isolated info][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <OverallResult success="false"/> </TestCase> <TestCase name="just unscoped info" tags="[info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <OverallResult success="false"/> </TestCase> <TestCase name="long long" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="looped SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="b is currently: 0" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 0 > 1 </Expanded> </Expression> <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <Section name="b is currently: 1" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 1 > 1 </Expanded> </Expression> <OverallResults successes="0" failures="1" expectedFailures="0"/> </Section> <Section name="b is currently: 2" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 2 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="b is currently: 3" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 3 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="b is currently: 4" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 4 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="b is currently: 5" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 5 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="b is currently: 6" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 6 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="b is currently: 7" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 7 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="b is currently: 8" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 8 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="b is currently: 9" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b > a </Original> <Expanded> 9 > 1 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="false"/> </TestCase> <TestCase name="looped tests" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Info> Testing if fib[0] (1) is even </Info> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> ( fib[i] % 2 ) == 0 </Original> <Expanded> 1 == 0 </Expanded> </Expression> <Info> Testing if fib[2] (2) is even </Info> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> ( fib[i] % 2 ) == 0 </Original> <Expanded> 1 == 0 </Expanded> </Expression> <Info> Testing if fib[5] (8) is even </Info> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> ( fib[i] % 2 ) == 0 </Original> <Expanded> 1 == 0 </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="mix info, unscoped info and warning" tags="[info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> info </Info> <Info> unscoped info </Info> <Warning> and warn may mix </Warning> <Info> info </Info> <Info> unscoped info </Info> <Warning> they are not cleared after warnings </Warning> <OverallResult success="false"/> </TestCase> <TestCase name="more nested SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="not equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="less than" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="nested SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> a != b </Original> <Expanded> 1 != 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b != a </Original> <Expanded> 2 != 1 </Expanded> </Expression> <Section name="not equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="non streamable - with conv. op" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> s == "7" </Original> <Expanded> "7" == "7" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="non-copyable objects" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> ti == typeid(int) </Original> <Expanded> {?} == {?} </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="not allowed" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="true"/> </TestCase> <TestCase name="not prints unscoped info from previous failures" tags="[.][failing][info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> this MAY be seen only for the FIRST assertion IF info is printed for passing assertions </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Info> this MAY be seen only for the SECOND assertion IF info is printed for passing assertions </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Info> this SHOULD be seen </Info> <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> false </Original> <Expanded> false </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="null strings" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> makeString( false ) != static_cast<char*>(0) </Original> <Expanded> "valid string" != {null string} </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> makeString( true ) == static_cast<char*>(0) </Original> <Expanded> {null string} == {null string} </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="null_ptr" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> ptr.get() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="pair<pair<int,const char *,pair<std::string,int> > -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Original> ::Catch::Detail::stringify( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }" </Original> <Expanded> "{ { 42, "Arthur" }, { "Ford", 24 } }" == "{ { 42, "Arthur" }, { "Ford", 24 } }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="parseEnums" tags="[Strings][enums]" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Section name="No enums" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> parseEnums( "" ), Equals( std::vector<std::string>{} ) </Original> <Expanded> { } Equals: { } </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="One enum value" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> parseEnums( "ClassName::EnumName::Value1" ), Equals(std::vector<std::string>{"Value1"} ) </Original> <Expanded> { "Value1" } Equals: { "Value1" } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> parseEnums( "Value1" ), Equals( std::vector<std::string>{"Value1"} ) </Original> <Expanded> { "Value1" } Equals: { "Value1" } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> parseEnums( "EnumName::Value1" ), Equals(std::vector<std::string>{"Value1"} ) </Original> <Expanded> { "Value1" } Equals: { "Value1" } </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <Section name="Multiple enum values" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> parseEnums( "ClassName::EnumName::Value1, ClassName::EnumName::Value2" ), Equals( std::vector<std::string>{"Value1", "Value2"} ) </Original> <Expanded> { "Value1", "Value2" } Equals: { "Value1", "Value2" } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> parseEnums( "ClassName::EnumName::Value1, ClassName::EnumName::Value2, ClassName::EnumName::Value3" ), Equals( std::vector<std::string>{"Value1", "Value2", "Value3"} ) </Original> <Expanded> { "Value1", "Value2", "Value3" } Equals: { "Value1", "Value2", "Value3" } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/ToString.tests.cpp" > <Original> parseEnums( "ClassName::EnumName::Value1,ClassName::EnumName::Value2 , ClassName::EnumName::Value3" ), Equals( std::vector<std::string>{"Value1", "Value2", "Value3"} ) </Original> <Expanded> { "Value1", "Value2", "Value3" } Equals: { "Value1", "Value2", "Value3" } </Expanded> </Expression> <OverallResults successes="3" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="pointer to class" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> p == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="print unscoped info if passing unscoped info is printed" tags="[info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> this MAY be seen IF info is printed for passing assertions </Info> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="prints unscoped info on failure" tags="[.][failing][info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> this SHOULD be seen </Info> <Info> this SHOULD also be seen </Info> <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> false </Original> <Expanded> false </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="prints unscoped info only for the first assertion" tags="[.][failing][info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> this SHOULD be seen only ONCE </Info> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> false </Original> <Expanded> false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Info> this MAY also be seen only ONCE IF info is printed for passing assertions </Info> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> true </Original> <Expanded> true </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="random SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> a != b </Original> <Expanded> 1 != 2 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> b != a </Original> <Expanded> 2 != 1 </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="not equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> a != b </Original> <Expanded> 1 != 2 </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="replaceInPlace" tags="[StringManip][Strings]" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Section name="replace single char" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> Catch::replaceInPlace( letters, "b", "z" ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> letters == "azcdefcg" </Original> <Expanded> "azcdefcg" == "azcdefcg" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="replace two chars" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> Catch::replaceInPlace( letters, "c", "z" ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> letters == "abzdefzg" </Original> <Expanded> "abzdefzg" == "abzdefzg" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="replace first char" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> Catch::replaceInPlace( letters, "a", "z" ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> letters == "zbcdefcg" </Original> <Expanded> "zbcdefcg" == "zbcdefcg" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="replace last char" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> Catch::replaceInPlace( letters, "g", "z" ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> letters == "abcdefcz" </Original> <Expanded> "abcdefcz" == "abcdefcz" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="replace all chars" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> Catch::replaceInPlace( letters, letters, "replaced" ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> letters == "replaced" </Original> <Expanded> "replaced" == "replaced" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="replace no chars" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> !(Catch::replaceInPlace( letters, "x", "z" )) </Original> <Expanded> !false </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> letters == letters </Original> <Expanded> "abcdefcg" == "abcdefcg" </Expanded> </Expression> <OverallResults successes="2" failures="0" expectedFailures="0"/> </Section> <Section name="escape '" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> Catch::replaceInPlace( s, "'", "|'" ) </Original> <Expanded> true </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.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="second tag" tags="[tag2]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResult success="false"/> </TestCase> <TestCase name="send a single char to INFO" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Info> 3 </Info> <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> false </Original> <Expanded> false </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="sends information to INFO" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> hi </Info> <Info> i := 7 </Info> <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> false </Original> <Expanded> false </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="shortened hide tags are split apart" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > <Original> testcase.tags, Catch::VectorContains(std::string("magic-tag")) && Catch::VectorContains(std::string(".")) </Original> <Expanded> { ".", "magic-tag" } ( Contains: "magic-tag" and Contains: "." ) </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="splitString" tags="[Strings]" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> splitStringRef("", ',' ), Equals(std::vector<StringRef>() ) </Original> <Expanded> { } Equals: { } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> splitStringRef("abc", ',' ), Equals(std::vector<StringRef>{"abc"} ) </Original> <Expanded> { abc } Equals: { abc } </Expanded> </Expression> <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" > <Original> splitStringRef("abc,def", ',' ), Equals(std::vector<StringRef>{"abc", "def"} ) </Original> <Expanded> { abc, def } Equals: { abc, def } </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stacks unscoped info in loops" tags="[.][failing][info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Info> Count 1 to 3... </Info> <Info> 1 </Info> <Info> 2 </Info> <Info> 3 </Info> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> false </Original> <Expanded> false </Expanded> </Expression> <Info> Count 4 to 6... </Info> <Info> 4 </Info> <Info> 5 </Info> <Info> 6 </Info> <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > <Original> false </Original> <Expanded> false </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="std::map is convertible string" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Section name="empty" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify( emptyMap ) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="single item" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify( map ) == "{ { \"one\", 1 } }" </Original> <Expanded> "{ { "one", 1 } }" == "{ { "one", 1 } }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="several items" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify( map ) == "{ { \"abc\", 1 }, { \"def\", 2 }, { \"ghi\", 3 } }" </Original> <Expanded> "{ { "abc", 1 }, { "def", 2 }, { "ghi", 3 } }" == "{ { "abc", 1 }, { "def", 2 }, { "ghi", 3 } }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="std::pair<int,const std::string> -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Original> ::Catch::Detail::stringify(value) == "{ 34, \"xyzzy\" }" </Original> <Expanded> "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="std::pair<int,std::string> -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Original> ::Catch::Detail::stringify( value ) == "{ 34, \"xyzzy\" }" </Original> <Expanded> "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="std::set is convertible string" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Section name="empty" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify( emptySet ) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="single item" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify( set ) == "{ \"one\" }" </Original> <Expanded> "{ "one" }" == "{ "one" }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="several items" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" > <Original> Catch::Detail::stringify( set ) == "{ \"abc\", \"def\", \"ghi\" }" </Original> <Expanded> "{ "abc", "def", "ghi" }" == "{ "abc", "def", "ghi" }" </Expanded> </Expression> <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <TestCase name="std::vector<std::pair<std::string,int> > -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" > <Original> ::Catch::Detail::stringify( pr ) == "{ { \"green\", 55 } }" </Original> <Expanded> "{ { "green", 55 } }" == "{ { "green", 55 } }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="string literals of different sizes can be compared" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" > <Original> std::string( "first" ) == "second" </Original> <Expanded> "first" == "second" </Expanded> </Expression> <OverallResult success="false"/> </TestCase> <TestCase name="stringify ranges" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify(streamable_range{}) == "op<<(streamable_range)" </Original> <Expanded> "op<<(streamable_range)" == "op<<(streamable_range)" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify(stringmaker_range{}) == "stringmaker(streamable_range)" </Original> <Expanded> "stringmaker(streamable_range)" == "stringmaker(streamable_range)" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify(just_range{}) == "{ 1, 2, 3, 4 }" </Original> <Expanded> "{ 1, 2, 3, 4 }" == "{ 1, 2, 3, 4 }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify(disabled_range{}) == "{ !!! }" </Original> <Expanded> "{ !!! }" == "{ !!! }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( has_maker )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify( item ) == "StringMaker<has_maker>" </Original> <Expanded> "StringMaker<has_maker>" == "StringMaker<has_maker>" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( has_maker_and_operator )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify( item ) == "StringMaker<has_maker_and_operator>" </Original> <Expanded> "StringMaker<has_maker_and_operator>" == "StringMaker<has_maker_and_operator>" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( has_neither )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify(item) == "{ !!! }" </Original> <Expanded> "{ !!! }" == "{ !!! }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( has_operator )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify( item ) == "operator<<( has_operator )" </Original> <Expanded> "operator<<( has_operator )" == "operator<<( has_operator )" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( has_template_operator )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify( item ) == "operator<<( has_template_operator )" </Original> <Expanded> "operator<<( has_template_operator )" == "operator<<( has_template_operator )" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( vectors<has_maker> )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify( v ) == "{ StringMaker<has_maker> }" </Original> <Expanded> "{ StringMaker<has_maker> }" == "{ StringMaker<has_maker> }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( vectors<has_maker_and_operator> )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify( v ) == "{ StringMaker<has_maker_and_operator> }" </Original> <Expanded> "{ StringMaker<has_maker_and_operator> }" == "{ StringMaker<has_maker_and_operator> }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="stringify( vectors<has_operator> )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" > <Original> ::Catch::Detail::stringify( v ) == "{ operator<<( has_operator ) }" </Original> <Expanded> "{ operator<<( has_operator ) }" == "{ operator<<( has_operator ) }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="strlen3" tags="[generators]" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> data.str.size() == data.len </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> data.str.size() == data.len </Original> <Expanded> 3 == 3 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> data.str.size() == data.len </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> data.str.size() == data.len </Original> <Expanded> 4 == 4 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="tables" tags="[generators]" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) </Original> <Expanded> 6 == 6 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Generators.tests.cpp" > <Original> strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) </Original> <Expanded> 6 == 6 </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="thrown std::strings are translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" > Why would you throw a std::string? </Exception> <OverallResult success="false"/> </TestCase> <TestCase name="toString on const wchar_t const pointer returns the string contents" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> result == "\"wide load\"" </Original> <Expanded> ""wide load"" == ""wide load"" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="toString(enum class w/operator<<)" tags="[enum][enumClass][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e0) == "E2/V0" </Original> <Expanded> "E2/V0" == "E2/V0" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e1) == "E2/V1" </Original> <Expanded> "E2/V1" == "E2/V1" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e3) == "Unknown enum value 10" </Original> <Expanded> "Unknown enum value 10" == "Unknown enum value 10" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="toString(enum class)" tags="[enum][enumClass][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e0) == "0" </Original> <Expanded> "0" == "0" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e1) == "1" </Original> <Expanded> "1" == "1" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="toString(enum w/operator<<)" tags="[enum][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e0) == "E2{0}" </Original> <Expanded> "E2{0}" == "E2{0}" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e1) == "E2{1}" </Original> <Expanded> "E2{1}" == "E2{1}" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="toString(enum)" tags="[enum][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e0) == "0" </Original> <Expanded> "0" == "0" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" > <Original> ::Catch::Detail::stringify(e1) == "1" </Original> <Expanded> "1" == "1" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="tuple<>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "{ }" == ::Catch::Detail::stringify(type{}) </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "{ }" == ::Catch::Detail::stringify(value) </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="tuple<float,int>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "1.2f" == ::Catch::Detail::stringify(float(1.2)) </Original> <Expanded> "1.2f" == "1.2f" </Expanded> </Expression> <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0}) </Original> <Expanded> "{ 1.2f, 0 }" == "{ 1.2f, 0 }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="tuple<int>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "{ 0 }" == ::Catch::Detail::stringify(type{0}) </Original> <Expanded> "{ 0 }" == "{ 0 }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="tuple<0,int,const char *>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) </Original> <Expanded> "{ 0, 42, "Catch me" }" == "{ 0, 42, "Catch me" }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="tuple<string,string>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"}) </Original> <Expanded> "{ "hello", "world" }" == "{ "hello", "world" }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="tuple<tuple<int>,tuple<>,float>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" > <Original> "{ { 42 }, { }, 1.2f }" == ::Catch::Detail::stringify(value) </Original> <Expanded> "{ { 42 }, { }, 1.2f }" == "{ { 42 }, { }, 1.2f }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="vec<vec<string,alloc>> -> toString" tags="[toString][vector,allocator]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(v) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(v) == "{ { \"hello\" }, { \"world\" } }" </Original> <Expanded> "{ { "hello" }, { "world" } }" == "{ { "hello" }, { "world" } }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="vector<bool> -> toString" tags="[containers][toString][vector]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(bools) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(bools) == "{ true }" </Original> <Expanded> "{ true }" == "{ true }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(bools) == "{ true, false }" </Original> <Expanded> "{ true, false }" == "{ true, false }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="vector<int,allocator> -> toString" tags="[toString][vector,allocator]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ 42 }" </Original> <Expanded> "{ 42 }" == "{ 42 }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ 42, 250 }" </Original> <Expanded> "{ 42, 250 }" == "{ 42, 250 }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="vector<int> -> toString" tags="[toString][vector]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ 42 }" </Original> <Expanded> "{ 42 }" == "{ 42 }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ 42, 250 }" </Original> <Expanded> "{ 42, 250 }" == "{ 42, 250 }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="vector<string> -> toString" tags="[toString][vector]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ }" </Original> <Expanded> "{ }" == "{ }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ \"hello\" }" </Original> <Expanded> "{ "hello" }" == "{ "hello" }" </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" > <Original> ::Catch::Detail::stringify(vv) == "{ \"hello\", \"world\" }" </Original> <Expanded> "{ "hello", "world" }" == "{ "hello", "world" }" </Expanded> </Expression> <OverallResult success="true"/> </TestCase> <TestCase name="vectors can be sized and resized" tags="[vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 10 </Original> <Expanded> 10 == 10 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 0 </Original> <Expanded> 0 == 0 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.capacity() >= 5 </Original> <Expanded> 5 >= 5 </Expanded> </Expression> <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Original> v.size() == 5 </Original> <Expanded> 5 == 5 </Expanded> </Expression> <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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="xmlentitycheck" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <Section name="embedded xml: <test>it should be possible to embed xml characters, such as <, " or &, or even whole <xml>documents</xml> within an attribute</test>" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <Section name="encoded chars: these should all be encoded: &&&"""<<<&"<<&"" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > <OverallResults successes="1" failures="0" expectedFailures="0"/> </Section> <OverallResult success="true"/> </TestCase> <OverallResults successes="1401" failures="149" expectedFailures="21"/> </Group> <OverallResults successes="1401" failures="148" expectedFailures="21"/> </Catch>