Sort test ordering during Approval testing
diff --git a/projects/SelfTest/Baselines/xml.sw.approved.txt b/projects/SelfTest/Baselines/xml.sw.approved.txt
index ed730bb..3dd64de 100644
--- a/projects/SelfTest/Baselines/xml.sw.approved.txt
+++ b/projects/SelfTest/Baselines/xml.sw.approved.txt
@@ -1,139 +1,392 @@
<?xml version="1.1" encoding="UTF-8"?>
<Catch name="CatchSelfTest">
<Group name="CatchSelfTest">
- <TestCase name="toString(enum)">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <TestCase name="# A test name that starts with a #">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="'Not' checks that should fail">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- Catch::toString(e0) == "0"
+ false != false
</Original>
<Expanded>
- "0" == "0"
+ false != false
</Expanded>
</Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- Catch::toString(e1) == "1"
+ true != true
</Original>
<Expanded>
- "1" == "1"
+ true != true
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !true
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !true
+ </Original>
+ <Expanded>
+ !true
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !trueValue
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !trueValue
+ </Original>
+ <Expanded>
+ !true
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !(1 == 1)
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !1 == 1
+ </Original>
+ <Expanded>
+ !(1 == 1)
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="'Not' checks that should succeed">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ false == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ true == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !false
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !false
+ </Original>
+ <Expanded>
+ !false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !falseValue
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !falseValue
+ </Original>
+ <Expanded>
+ !false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !(1 == 2)
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ !1 == 2
+ </Original>
+ <Expanded>
+ !(1 == 2)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="toString(enum w/operator<<)">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <TestCase name="(unimplemented) static bools can be evaluated">
+ <Section name="compare to true">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ is_true<true>::value == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ true == is_true<true>::value
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="compare to false">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ is_true<false>::value == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ false == is_true<false>::value
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="negation">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ !is_true<false>::value
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="double negation">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ !!is_true<true>::value
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="direct">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ is_true<true>::value
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ !is_true<false>::value
+ </Original>
+ <Expanded>
+ !false
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="A METHOD_AS_TEST_CASE based test run that fails">
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
<Original>
- Catch::toString(e0) == "E2{0}"
+ s == "world"
</Original>
<Expanded>
- "E2{0}" == "E2{0}"
+ "hello" == "world"
</Expanded>
</Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="A METHOD_AS_TEST_CASE based test run that succeeds">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
<Original>
- Catch::toString(e1) == "E2{1}"
+ s == "hello"
</Original>
<Expanded>
- "E2{1}" == "E2{1}"
+ "hello" == "hello"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="toString(enum class)">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <TestCase name="A TEST_CASE_METHOD based test run that fails">
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
<Original>
- Catch::toString(e0) == "0"
+ m_a == 2
</Original>
<Expanded>
- "0" == "0"
+ 1 == 2
</Expanded>
</Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="A TEST_CASE_METHOD based test run that succeeds">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
<Original>
- Catch::toString(e1) == "1"
+ m_a == 1
</Original>
<Expanded>
- "1" == "1"
+ 1 == 1
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="toString(enum class w/operator<<)">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <TestCase name="A couple of nested sections followed by a failure">
+ <Section name="Outer">
+ <Section name="Inner">
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Failure>
+ to infinity and beyond
+ </Failure>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="A failing expression with a non streamable type is still captured">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- Catch::toString(e0) == "E2/V0"
+ &o1 == &o2
</Original>
<Expanded>
- "E2/V0" == "E2/V0"
+ 0x<hex digits> == 0x<hex digits>
</Expanded>
</Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- Catch::toString(e1) == "E2/V1"
+ o1 == o2
</Original>
<Expanded>
- "E2/V1" == "E2/V1"
+ {?} == {?}
</Expanded>
</Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="AllOf matcher">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
<Original>
- Catch::toString(e3) == "Unknown enum value 10"
+ testStringForMatching(), AllOf( Catch::Contains( "string" ), Catch::Contains( "abc" ) )
</Original>
<Expanded>
- "Unknown enum value 10"
-==
-"Unknown enum value 10"
+ "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Some simple comparisons between doubles">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <TestCase name="An empty test with no assertions">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="An expression with side-effects should only be evaluated once">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- d == Approx( 1.23 )
+ i++ == 7
</Original>
<Expanded>
- 1.23 == Approx( 1.23 )
+ 7 == 7
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ i++ == 8
+ </Original>
+ <Expanded>
+ 8 == 8
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="An unchecked exception reports the line of the last assertion">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ 1 == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="false" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ {Unknown expression after the reported line}
+ </Original>
+ <Expanded>
+ {Unknown expression after the reported line}
+ </Expanded>
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ unexpected exception
+ </Exception>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Anonymous test case 1">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="AnyOf matcher">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), AnyOf( Catch::Contains( "string" ), Catch::Contains( "not there" ) )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ( contains: "string" or contains: "not there" )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), AnyOf( Catch::Contains( "not there" ), Catch::Contains( "string" ) )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ( contains: "not there" or contains: "string" )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Approximate PI">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ divide( 22, 7 ) == Approx( 3.141 ).epsilon( 0.001 )
+ </Original>
+ <Expanded>
+ 3.1428571429 == Approx( 3.141 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
<Original>
- d != Approx( 1.22 )
+ divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 )
</Original>
<Expanded>
- 1.23 != Approx( 1.22 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- d != Approx( 1.24 )
- </Original>
- <Expanded>
- 1.23 != Approx( 1.24 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- Approx( d ) == 1.23
- </Original>
- <Expanded>
- Approx( 1.23 ) == 1.23
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- Approx( d ) != 1.22
- </Original>
- <Expanded>
- Approx( 1.23 ) != 1.22
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- Approx( d ) != 1.24
- </Original>
- <Expanded>
- Approx( 1.23 ) != 1.24
+ 3.1428571429 != Approx( 3.141 )
</Expanded>
</Expression>
<OverallResult success="true"/>
@@ -238,730 +491,163 @@
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Use a custom approx">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <TestCase name="Assertions then sections">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- d == approx( 1.23 )
+ Catch::alwaysTrue()
</Original>
<Expanded>
- 1.23 == Approx( 1.23 )
+ true
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Section name="A section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ Catch::alwaysTrue()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="Another section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ Catch::alwaysTrue()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- d == approx( 1.22 )
+ Catch::alwaysTrue()
</Original>
<Expanded>
- 1.23 == Approx( 1.22 )
+ true
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Section name="A section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ Catch::alwaysTrue()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="Another other section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ Catch::alwaysTrue()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Comparing function pointers">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- d == approx( 1.24 )
+ a
</Original>
<Expanded>
- 1.23 == Approx( 1.24 )
+ true
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- d != approx( 1.25 )
+ a == &foo
</Original>
<Expanded>
- 1.23 != Approx( 1.25 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- approx( d ) == 1.23
- </Original>
- <Expanded>
- Approx( 1.23 ) == 1.23
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- approx( d ) == 1.22
- </Original>
- <Expanded>
- Approx( 1.23 ) == 1.22
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- approx( d ) == 1.24
- </Original>
- <Expanded>
- Approx( 1.23 ) == 1.24
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- approx( d ) != 1.25
- </Original>
- <Expanded>
- Approx( 1.23 ) != 1.25
+ 0x<hex digits> == 0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Approximate PI">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <TestCase name="Comparing member function pointers">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- divide( 22, 7 ) == Approx( 3.141 ).epsilon( 0.001 )
+ m == &S::f
</Original>
<Expanded>
- 3.1428571429 == Approx( 3.141 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
- <Original>
- divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 )
- </Original>
- <Expanded>
- 3.1428571429 != Approx( 3.141 )
+ 0x<hex digits>
+==
+0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="A METHOD_AS_TEST_CASE based test run that succeeds">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
+ <TestCase name="Comparisons between ints where one side is computed">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- s == "hello"
+ 54 == 6*9
</Original>
<Expanded>
- "hello" == "hello"
+ 54 == 54
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="A METHOD_AS_TEST_CASE based test run that fails">
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
+ <TestCase name="Comparisons between unsigned ints and negative signed ints match c++ standard behaviour">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- s == "world"
+ ( -1 > 2u )
</Original>
<Expanded>
- "hello" == "world"
+ true
</Expanded>
</Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="A TEST_CASE_METHOD based test run that succeeds">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- m_a == 1
+ -1 > 2u
</Original>
<Expanded>
- 1 == 1
+ -1 > 2
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ ( 2u < -1 )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ 2u < -1
+ </Original>
+ <Expanded>
+ 2 < -1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ ( minInt > 2u )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ minInt > 2u
+ </Original>
+ <Expanded>
+ -2147483648 > 2
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="A TEST_CASE_METHOD based test run that fails">
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ClassTests.cpp" >
- <Original>
- m_a == 2
- </Original>
- <Expanded>
- 1 == 2
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Equality checks that should succeed">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven == 7
- </Original>
- <Expanded>
- 7 == 7
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one == Approx( 9.1f )
- </Original>
- <Expanded>
- 9.1f == Approx( 9.1000003815 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.double_pi == Approx( 3.1415926535 )
- </Original>
- <Expanded>
- 3.1415926535 == Approx( 3.1415926535 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello == "hello"
- </Original>
- <Expanded>
- "hello" == "hello"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- "hello" == data.str_hello
- </Original>
- <Expanded>
- "hello" == "hello"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello.size() == 5
- </Original>
- <Expanded>
- 5 == 5
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- x == Approx( 1.3 )
- </Original>
- <Expanded>
- 1.3 == Approx( 1.3 )
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Equality checks that should fail">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven == 6
- </Original>
- <Expanded>
- 7 == 6
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven == 8
- </Original>
- <Expanded>
- 7 == 8
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven == 0
- </Original>
- <Expanded>
- 7 == 0
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one == Approx( 9.11f )
- </Original>
- <Expanded>
- 9.1f == Approx( 9.1099996567 )
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one == Approx( 9.0f )
- </Original>
- <Expanded>
- 9.1f == Approx( 9.0 )
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one == Approx( 1 )
- </Original>
- <Expanded>
- 9.1f == Approx( 1.0 )
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one == Approx( 0 )
- </Original>
- <Expanded>
- 9.1f == Approx( 0.0 )
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.double_pi == Approx( 3.1415 )
- </Original>
- <Expanded>
- 3.1415926535 == Approx( 3.1415 )
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello == "goodbye"
- </Original>
- <Expanded>
- "hello" == "goodbye"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello == "hell"
- </Original>
- <Expanded>
- "hello" == "hell"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello == "hello1"
- </Original>
- <Expanded>
- "hello" == "hello1"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello.size() == 6
- </Original>
- <Expanded>
- 5 == 6
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- x == Approx( 1.301 )
- </Original>
- <Expanded>
- 1.3 == Approx( 1.301 )
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Inequality checks that should succeed">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven != 6
- </Original>
- <Expanded>
- 7 != 6
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven != 8
- </Original>
- <Expanded>
- 7 != 8
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one != Approx( 9.11f )
- </Original>
- <Expanded>
- 9.1f != Approx( 9.1099996567 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one != Approx( 9.0f )
- </Original>
- <Expanded>
- 9.1f != Approx( 9.0 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one != Approx( 1 )
- </Original>
- <Expanded>
- 9.1f != Approx( 1.0 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one != Approx( 0 )
- </Original>
- <Expanded>
- 9.1f != Approx( 0.0 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.double_pi != Approx( 3.1415 )
- </Original>
- <Expanded>
- 3.1415926535 != Approx( 3.1415 )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello != "goodbye"
- </Original>
- <Expanded>
- "hello" != "goodbye"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello != "hell"
- </Original>
- <Expanded>
- "hello" != "hell"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello != "hello1"
- </Original>
- <Expanded>
- "hello" != "hello1"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello.size() != 6
- </Original>
- <Expanded>
- 5 != 6
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Inequality checks that should fail">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven != 7
- </Original>
- <Expanded>
- 7 != 7
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one != Approx( 9.1f )
- </Original>
- <Expanded>
- 9.1f != Approx( 9.1000003815 )
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.double_pi != Approx( 3.1415926535 )
- </Original>
- <Expanded>
- 3.1415926535 != Approx( 3.1415926535 )
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello != "hello"
- </Original>
- <Expanded>
- "hello" != "hello"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello.size() != 5
- </Original>
- <Expanded>
- 5 != 5
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Ordering comparison checks that should succeed">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven < 8
- </Original>
- <Expanded>
- 7 < 8
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven > 6
- </Original>
- <Expanded>
- 7 > 6
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven > 0
- </Original>
- <Expanded>
- 7 > 0
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven > -1
- </Original>
- <Expanded>
- 7 > -1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven >= 7
- </Original>
- <Expanded>
- 7 >= 7
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven >= 6
- </Original>
- <Expanded>
- 7 >= 6
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven <= 7
- </Original>
- <Expanded>
- 7 <= 7
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven <= 8
- </Original>
- <Expanded>
- 7 <= 8
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one > 9
- </Original>
- <Expanded>
- 9.1f > 9
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one < 10
- </Original>
- <Expanded>
- 9.1f < 10
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one < 9.2
- </Original>
- <Expanded>
- 9.1f < 9.2
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello <= "hello"
- </Original>
- <Expanded>
- "hello" <= "hello"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello >= "hello"
- </Original>
- <Expanded>
- "hello" >= "hello"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello < "hellp"
- </Original>
- <Expanded>
- "hello" < "hellp"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello < "zebra"
- </Original>
- <Expanded>
- "hello" < "zebra"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello > "hellm"
- </Original>
- <Expanded>
- "hello" > "hellm"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello > "a"
- </Original>
- <Expanded>
- "hello" > "a"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Ordering comparison checks that should fail">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven > 7
- </Original>
- <Expanded>
- 7 > 7
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven < 7
- </Original>
- <Expanded>
- 7 < 7
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven > 8
- </Original>
- <Expanded>
- 7 > 8
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven < 6
- </Original>
- <Expanded>
- 7 < 6
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven < 0
- </Original>
- <Expanded>
- 7 < 0
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven < -1
- </Original>
- <Expanded>
- 7 < -1
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven >= 8
- </Original>
- <Expanded>
- 7 >= 8
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.int_seven <= 6
- </Original>
- <Expanded>
- 7 <= 6
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one < 9
- </Original>
- <Expanded>
- 9.1f < 9
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one > 10
- </Original>
- <Expanded>
- 9.1f > 10
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.float_nine_point_one > 9.2
- </Original>
- <Expanded>
- 9.1f > 9.2
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello > "hello"
- </Original>
- <Expanded>
- "hello" > "hello"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello < "hello"
- </Original>
- <Expanded>
- "hello" < "hello"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello > "hellp"
- </Original>
- <Expanded>
- "hello" > "hellp"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello > "z"
- </Original>
- <Expanded>
- "hello" > "z"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello < "hellm"
- </Original>
- <Expanded>
- "hello" < "hellm"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello < "a"
- </Original>
- <Expanded>
- "hello" < "a"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello >= "z"
- </Original>
- <Expanded>
- "hello" >= "z"
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- data.str_hello <= "a"
- </Original>
- <Expanded>
- "hello" <= "a"
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
<TestCase name="Comparisons with int literals don't warn when mixing signed/ unsigned">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
@@ -1071,491 +757,15 @@
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="comparisons between int variables">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <TestCase name="Contains string matcher">
+ <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
<Original>
- long_var == unsigned_char_var
+ testStringForMatching(), Contains( "not there" )
</Original>
<Expanded>
- 1 == 1
+ "this string contains 'abc' as a substring" contains: "not there"
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- long_var == unsigned_short_var
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- long_var == unsigned_int_var
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- long_var == unsigned_long_var
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="comparisons between const int variables">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- unsigned_char_var == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- unsigned_short_var == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- unsigned_int_var == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- unsigned_long_var == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Comparisons between unsigned ints and negative signed ints match c++ standard behaviour">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- ( -1 > 2u )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- -1 > 2u
- </Original>
- <Expanded>
- -1 > 2
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- ( 2u < -1 )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- 2u < -1
- </Original>
- <Expanded>
- 2 < -1
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- ( minInt > 2u )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- minInt > 2u
- </Original>
- <Expanded>
- -2147483648 > 2
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Comparisons between ints where one side is computed">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- 54 == 6*9
- </Original>
- <Expanded>
- 54 == 54
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Pointers can be compared to null">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- p == nullptr
- </Original>
- <Expanded>
- NULL == nullptr
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- p == pNULL
- </Original>
- <Expanded>
- NULL == NULL
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- p != nullptr
- </Original>
- <Expanded>
- 0x<hex digits> != nullptr
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- cp != nullptr
- </Original>
- <Expanded>
- 0x<hex digits> != nullptr
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- cpc != nullptr
- </Original>
- <Expanded>
- 0x<hex digits> != nullptr
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- returnsNull() == nullptr
- </Original>
- <Expanded>
- {null string} == nullptr
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- returnsConstNull() == nullptr
- </Original>
- <Expanded>
- {null string} == nullptr
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- nullptr != p
- </Original>
- <Expanded>
- nullptr != 0x<hex digits>
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="'Not' checks that should succeed">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- false == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- true == true
- </Original>
- <Expanded>
- true == true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !false
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !false
- </Original>
- <Expanded>
- !false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !falseValue
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !falseValue
- </Original>
- <Expanded>
- !false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !(1 == 2)
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !1 == 2
- </Original>
- <Expanded>
- !(1 == 2)
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="'Not' checks that should fail">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- false != false
- </Original>
- <Expanded>
- false != false
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- true != true
- </Original>
- <Expanded>
- true != true
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !true
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !true
- </Original>
- <Expanded>
- !true
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !trueValue
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !trueValue
- </Original>
- <Expanded>
- !true
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !(1 == 1)
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK_FALSE" filename="projects/SelfTest/ConditionTests.cpp" >
- <Original>
- !1 == 1
- </Original>
- <Expanded>
- !(1 == 1)
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="When checked exceptions are thrown they can be expected or unexpected">
- <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisThrows()
- </Original>
- <Expanded>
- thisThrows()
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisDoesntThrow()
- </Original>
- <Expanded>
- thisDoesntThrow()
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE_THROWS" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisThrows()
- </Original>
- <Expanded>
- thisThrows()
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test">
- <Expression success="false" type="CHECK_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisThrows()
- </Original>
- <Expanded>
- thisThrows()
- </Expanded>
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- expected exception
- </Exception>
- </Expression>
- <Expression success="false" type="CHECK_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisDoesntThrow()
- </Original>
- <Expanded>
- thisDoesntThrow()
- </Expanded>
- </Expression>
- <Expression success="false" type="CHECK_NOTHROW" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisThrows()
- </Original>
- <Expanded>
- thisThrows()
- </Expanded>
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- expected exception
- </Exception>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="When unchecked exceptions are thrown directly they are always failures">
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- unexpected exception
- </Exception>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="An unchecked exception reports the line of the last assertion">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- 1 == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="false" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- {Unknown expression after the reported line}
- </Original>
- <Expanded>
- {Unknown expression after the reported line}
- </Expanded>
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- unexpected exception
- </Exception>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="When unchecked exceptions are thrown from sections they are always failures">
- <Section name="section name">
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- unexpected exception
- </Exception>
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="When unchecked exceptions are thrown from functions they are always failures">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisThrows() == 0
- </Original>
- <Expanded>
- thisThrows() == 0
- </Expanded>
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- expected exception
- </Exception>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="When unchecked exceptions are thrown during a REQUIRE the test should abort fail">
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisThrows() == 0
- </Original>
- <Expanded>
- thisThrows() == 0
- </Expanded>
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- expected exception
- </Exception>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="When unchecked exceptions are thrown during a CHECK the test should abort and fail">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" >
- <Original>
- thisThrows() == 0
- </Original>
- <Expanded>
- thisThrows() == 0
- </Expanded>
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- expected exception
- </Exception>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="When unchecked exceptions are thrown, but caught, they do not affect the test">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Non-std exceptions can be translated">
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- custom exception
- </Exception>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Custom std-exceptions can be custom translated">
- <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- custom std exception
- </Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Custom exceptions can be translated when testing for nothrow">
@@ -1586,19 +796,229 @@
</Expression>
<OverallResult success="false"/>
</TestCase>
- <TestCase name="Unexpected exceptions can be translated">
+ <TestCase name="Custom std-exceptions can be custom translated">
<Exception filename="projects/SelfTest/ExceptionTests.cpp" >
- 3.14
+ custom std exception
</Exception>
<OverallResult success="false"/>
</TestCase>
- <TestCase name="NotImplemented exception">
- <Expression success="true" type="REQUIRE_THROWS" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <TestCase name="Demonstrate that a non-const == is not used">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- thisFunctionNotImplemented( 7 )
+ t == 1u
</Original>
<Expanded>
- thisFunctionNotImplemented( 7 )
+ {?} == 1
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="EndsWith string matcher">
+ <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), EndsWith( "this" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ends with: "this"
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Equality checks that should fail">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven == 6
+ </Original>
+ <Expanded>
+ 7 == 6
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven == 8
+ </Original>
+ <Expanded>
+ 7 == 8
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven == 0
+ </Original>
+ <Expanded>
+ 7 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one == Approx( 9.11f )
+ </Original>
+ <Expanded>
+ 9.1f == Approx( 9.1099996567 )
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one == Approx( 9.0f )
+ </Original>
+ <Expanded>
+ 9.1f == Approx( 9.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one == Approx( 1 )
+ </Original>
+ <Expanded>
+ 9.1f == Approx( 1.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one == Approx( 0 )
+ </Original>
+ <Expanded>
+ 9.1f == Approx( 0.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.double_pi == Approx( 3.1415 )
+ </Original>
+ <Expanded>
+ 3.1415926535 == Approx( 3.1415 )
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello == "goodbye"
+ </Original>
+ <Expanded>
+ "hello" == "goodbye"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello == "hell"
+ </Original>
+ <Expanded>
+ "hello" == "hell"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello == "hello1"
+ </Original>
+ <Expanded>
+ "hello" == "hello1"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello.size() == 6
+ </Original>
+ <Expanded>
+ 5 == 6
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ x == Approx( 1.301 )
+ </Original>
+ <Expanded>
+ 1.3 == Approx( 1.301 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Equality checks that should succeed">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven == 7
+ </Original>
+ <Expanded>
+ 7 == 7
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one == Approx( 9.1f )
+ </Original>
+ <Expanded>
+ 9.1f == Approx( 9.1000003815 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.double_pi == Approx( 3.1415926535 )
+ </Original>
+ <Expanded>
+ 3.1415926535 == Approx( 3.1415926535 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello == "hello"
+ </Original>
+ <Expanded>
+ "hello" == "hello"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ "hello" == data.str_hello
+ </Original>
+ <Expanded>
+ "hello" == "hello"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello.size() == 5
+ </Original>
+ <Expanded>
+ 5 == 5
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ x == Approx( 1.3 )
+ </Original>
+ <Expanded>
+ 1.3 == Approx( 1.3 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Equals">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), Equals( "this string contains 'abc' as a substring" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" equals: "this string contains 'abc' as a substring"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Equals string matcher">
+ <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), Equals( "something else" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" equals: "something else"
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Equals string matcher, with NULL">
+ <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ "", Equals(nullptr)
+ </Original>
+ <Expanded>
+ "" equals: ""
</Expanded>
</Expression>
<OverallResult success="true"/>
@@ -1663,25 +1083,111 @@
</Section>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Mismatching exception messages failing the test">
- <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test">
+ <Expression success="false" type="CHECK_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" >
<Original>
- thisThrows(), "expected exception"
+ thisThrows()
</Original>
<Expanded>
- thisThrows(), "expected exception"
+ thisThrows()
+ </Expanded>
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ expected exception
+ </Exception>
+ </Expression>
+ <Expression success="false" type="CHECK_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ thisDoesntThrow()
+ </Original>
+ <Expanded>
+ thisDoesntThrow()
</Expanded>
</Expression>
- <Expression success="false" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Expression success="false" type="CHECK_NOTHROW" filename="projects/SelfTest/ExceptionTests.cpp" >
<Original>
- thisThrows(), "should fail"
+ thisThrows()
</Original>
<Expanded>
- expected exception
+ thisThrows()
</Expanded>
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ expected exception
+ </Exception>
</Expression>
<OverallResult success="false"/>
</TestCase>
+ <TestCase name="FAIL aborts the test">
+ <Failure>
+ This is a failure
+ </Failure>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="FAIL does not require an argument">
+ <Failure/>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Factorials are computed">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ Factorial(0) == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ Factorial(1) == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ Factorial(2) == 2
+ </Original>
+ <Expanded>
+ 2 == 2
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ Factorial(3) == 6
+ </Original>
+ <Expanded>
+ 6 == 6
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ Factorial(10) == 3628800
+ </Original>
+ <Expanded>
+ 3628800 (0x<hex digits>) == 3628800 (0x<hex digits>)
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Generator over a range of pairs">
+ <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" >
+ <Original>
+ i->first == i->second-1
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" >
+ <Original>
+ i->first == i->second-1
+ </Original>
+ <Expanded>
+ 2 == 2
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
<TestCase name="Generators over two ranges">
<Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" >
<Original>
@@ -2837,25 +2343,6 @@
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Generator over a range of pairs">
- <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" >
- <Original>
- i->first == i->second-1
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <Expression success="true" type="CATCH_REQUIRE" filename="projects/SelfTest/GeneratorTests.cpp" >
- <Original>
- i->first == i->second-1
- </Original>
- <Expanded>
- 2 == 2
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
<TestCase name="INFO and WARN do not abort tests">
<Info>
this is a message
@@ -2865,9 +2352,6 @@
</Warning>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="SUCCEED counts as a test pass">
- <OverallResult success="true"/>
- </TestCase>
<TestCase name="INFO gets logged on failure">
<Info>
this message should be logged
@@ -2926,1758 +2410,140 @@
</Expression>
<OverallResult success="false"/>
</TestCase>
- <TestCase name="FAIL aborts the test">
- <Failure>
- This is a failure
- </Failure>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="FAIL does not require an argument">
- <Failure/>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="SUCCESS does not require an argument">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Output from all sections is reported">
- <Section name="one">
- <Failure>
- Message from section one
- </Failure>
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <Section name="two">
- <Failure>
- Message from section two
- </Failure>
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Standard output from all sections is reported">
- <Section name="one">
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <Section name="two">
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="SCOPED_INFO is reset for each loop">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <TestCase name="Inequality checks that should fail">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- i < 10
+ data.int_seven != 7
</Original>
<Expanded>
- 0 < 10
+ 7 != 7
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- i < 10
+ data.float_nine_point_one != Approx( 9.1f )
</Original>
<Expanded>
- 1 < 10
+ 9.1f != Approx( 9.1000003815 )
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- i < 10
+ data.double_pi != Approx( 3.1415926535 )
</Original>
<Expanded>
- 2 < 10
+ 3.1415926535 != Approx( 3.1415926535 )
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- i < 10
+ data.str_hello != "hello"
</Original>
<Expanded>
- 3 < 10
+ "hello" != "hello"
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- i < 10
+ data.str_hello.size() != 5
</Original>
<Expanded>
- 4 < 10
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
- <Original>
- i < 10
- </Original>
- <Expanded>
- 5 < 10
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
- <Original>
- i < 10
- </Original>
- <Expanded>
- 6 < 10
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
- <Original>
- i < 10
- </Original>
- <Expanded>
- 7 < 10
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
- <Original>
- i < 10
- </Original>
- <Expanded>
- 8 < 10
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
- <Original>
- i < 10
- </Original>
- <Expanded>
- 9 < 10
- </Expanded>
- </Expression>
- <Info>
- current counter 10
- </Info>
- <Info>
- i := 10
- </Info>
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
- <Original>
- i < 10
- </Original>
- <Expanded>
- 10 < 10
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="The NO_FAIL macro reports a failure but does not fail the test">
- <Expression success="false" type="CHECK_NOFAIL" filename="projects/SelfTest/MessageTests.cpp" >
- <Original>
- 1 == 2
- </Original>
- <Expanded>
- 1 == 2
+ 5 != 5
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="just info">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="just failure">
- <Failure>
- Previous info should not be seen
- </Failure>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="sends information to INFO">
- <Info>
- hi
- </Info>
- <Info>
- i := 7
- </Info>
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <TestCase name="Inequality checks that should succeed">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- false
+ data.int_seven != 6
</Original>
<Expanded>
- false
+ 7 != 6
</Expanded>
</Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Pointers can be converted to strings">
- <Warning>
- actual address of p: 0x<hex digits>
- </Warning>
- <Warning>
- toString(p): 0x<hex digits>
- </Warning>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="random SECTION tests">
- <Section name="s1" description="doesn't equal">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- a != b
- </Original>
- <Expanded>
- 1 != 2
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- b != a
- </Original>
- <Expanded>
- 2 != 1
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="s2" description="not equal">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- a != b
- </Original>
- <Expanded>
- 1 != 2
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="nested SECTION tests">
- <Section name="s1" description="doesn't equal">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- a != b
- </Original>
- <Expanded>
- 1 != 2
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- b != a
- </Original>
- <Expanded>
- 2 != 1
- </Expanded>
- </Expression>
- <Section name="s2" description="not equal">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- a != b
- </Original>
- <Expanded>
- 1 != 2
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="more nested SECTION tests">
- <Section name="s1" description="doesn't equal">
- <Section name="s2" description="equal">
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- a == b
- </Original>
- <Expanded>
- 1 == 2
- </Expanded>
- </Expression>
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <Section name="s1" description="doesn't equal">
- <Section name="s3" description="not equal">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- a != b
- </Original>
- <Expanded>
- 1 != 2
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="s1" description="doesn't equal">
- <Section name="s4" description="less than">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- a < b
- </Original>
- <Expanded>
- 1 < 2
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="even more nested SECTION tests">
- <Section name="c">
- <Section name="d (leaf)">
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="c">
- <Section name="e (leaf)">
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="f (leaf)">
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="looped SECTION tests">
- <Section name="s1" description="b is currently: 0">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- b > a
- </Original>
- <Expanded>
- 0 > 1
- </Expanded>
- </Expression>
- <OverallResults successes="0" failures="1" expectedFailures="0"/>
- </Section>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="looped tests">
- <Info>
- Testing if fib[0] (1) is even
- </Info>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.int_seven != 8
</Original>
<Expanded>
- 1 == 0
+ 7 != 8
</Expanded>
</Expression>
- <Info>
- Testing if fib[1] (1) is even
- </Info>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.float_nine_point_one != Approx( 9.11f )
</Original>
<Expanded>
- 1 == 0
+ 9.1f != Approx( 9.1099996567 )
</Expanded>
</Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.float_nine_point_one != Approx( 9.0f )
</Original>
<Expanded>
- 0 == 0
+ 9.1f != Approx( 9.0 )
</Expanded>
</Expression>
- <Info>
- Testing if fib[3] (3) is even
- </Info>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.float_nine_point_one != Approx( 1 )
</Original>
<Expanded>
- 1 == 0
+ 9.1f != Approx( 1.0 )
</Expanded>
</Expression>
- <Info>
- Testing if fib[4] (5) is even
- </Info>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.float_nine_point_one != Approx( 0 )
</Original>
<Expanded>
- 1 == 0
+ 9.1f != Approx( 0.0 )
</Expanded>
</Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.double_pi != Approx( 3.1415 )
</Original>
<Expanded>
- 0 == 0
+ 3.1415926535 != Approx( 3.1415 )
</Expanded>
</Expression>
- <Info>
- Testing if fib[6] (13) is even
- </Info>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.str_hello != "goodbye"
</Original>
<Expanded>
- 1 == 0
+ "hello" != "goodbye"
</Expanded>
</Expression>
- <Info>
- Testing if fib[7] (21) is even
- </Info>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- ( fib[i] % 2 ) == 0
+ data.str_hello != "hell"
</Original>
<Expanded>
- 1 == 0
+ "hello" != "hell"
</Expanded>
</Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Sends stuff to stdout and stderr">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="null strings">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- makeString( false ) != static_cast<char*>(nullptr)
+ data.str_hello != "hello1"
</Original>
<Expanded>
- "valid string" != {null string}
+ "hello" != "hello1"
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- makeString( true ) == static_cast<char*>(nullptr)
+ data.str_hello.size() != 6
</Original>
<Expanded>
- {null string} == {null string}
+ 5 != 6
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="checkedIf">
- <Expression success="true" type="CHECKED_IF" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- flag
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testCheckedIf( true )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="checkedIf, failing">
- <Expression success="false" type="CHECKED_IF" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- flag
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testCheckedIf( false )
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="checkedElse">
- <Expression success="true" type="CHECKED_ELSE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- flag
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testCheckedElse( true )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="checkedElse, failing">
- <Expression success="false" type="CHECKED_ELSE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- flag
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testCheckedElse( false )
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="xmlentitycheck">
- <Section name="embedded xml" description="<test>it should be possible to embed xml characters, such as <, " or &, or even whole <xml>documents</xml> within an attribute</test>">
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="encoded chars" description="these should all be encoded: &&&"""<<<&"<<&"">
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="send a single char to INFO">
- <Info>
- 3
- </Info>
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- false
- </Original>
- <Expanded>
- false
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="atomic if">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- x == 0
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="String matchers">
- <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), Contains( "string" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" contains: "string"
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), Contains( "abc" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" contains: "abc"
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), StartsWith( "this" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" starts with: "this"
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), EndsWith( "substring" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ends with: "substring"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Contains string matcher">
- <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), Contains( "not there" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" contains: "not there"
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="StartsWith string matcher">
- <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), StartsWith( "string" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" starts with: "string"
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="EndsWith string matcher">
- <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), EndsWith( "this" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ends with: "this"
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Equals string matcher">
- <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), Equals( "something else" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" equals: "something else"
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Equals string matcher, with NULL">
- <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- "", Equals(nullptr)
- </Original>
- <Expanded>
- "" equals: ""
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="AllOf matcher">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), AllOf( Catch::Contains( "string" ), Catch::Contains( "abc" ) )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" )
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="AnyOf matcher">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), AnyOf( Catch::Contains( "string" ), Catch::Contains( "not there" ) )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ( contains: "string" or contains: "not there" )
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), AnyOf( Catch::Contains( "not there" ), Catch::Contains( "string" ) )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ( contains: "not there" or contains: "string" )
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Equals">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), Equals( "this string contains 'abc' as a substring" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" equals: "this string contains 'abc' as a substring"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Matchers can be (AllOf) composed with the && operator">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), Contains( "string" ) && Contains( "abc" ) && Contains( "substring" ) && Contains( "contains" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" and contains: "substring" and contains: "contains" )
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Matchers can be (AnyOf) composed with the || operator">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), Contains( "string" ) || Contains( "different" ) || Contains( "random" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ( contains: "string" or contains: "different" or contains: "random" )
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching2(), Contains( "string" ) || Contains( "different" ) || Contains( "random" )
- </Original>
- <Expanded>
- "some completely different text that contains one common word" ( contains: "string" or contains: "different" or contains: "random" )
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Matchers can be composed with both && and ||">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "substring" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "substring" )
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Matchers can be composed with both && and || - failing">
- <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "random" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "random" )
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Matchers can be negated (Not) with the ! operator">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), !Contains( "different" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" not contains: "different"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Matchers can be negated (Not) with the ! operator - failing">
- <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- testStringForMatching(), !Contains( "substring" )
- </Original>
- <Expanded>
- "this string contains 'abc' as a substring" not contains: "substring"
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="Factorials are computed">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- Factorial(0) == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- Factorial(1) == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- Factorial(2) == 2
- </Original>
- <Expanded>
- 2 == 2
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- Factorial(3) == 6
- </Original>
- <Expanded>
- 6 == 6
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- Factorial(10) == 3628800
- </Original>
- <Expanded>
- 3628800 (0x<hex digits>) == 3628800 (0x<hex digits>)
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="An empty test with no assertions">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Nice descriptive name">
- <Warning>
- This one ran
- </Warning>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="first tag">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="second tag">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="vectors can be sized and resized">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 5
- </Original>
- <Expanded>
- 5 == 5
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 5
- </Original>
- <Expanded>
- 5 >= 5
- </Expanded>
- </Expression>
- <Section name="resizing bigger changes size and capacity">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 10
- </Original>
- <Expanded>
- 10 == 10
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 10
- </Original>
- <Expanded>
- 10 >= 10
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 5
- </Original>
- <Expanded>
- 5 == 5
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 5
- </Original>
- <Expanded>
- 5 >= 5
- </Expanded>
- </Expression>
- <Section name="resizing smaller changes size but not capacity">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 0
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 5
- </Original>
- <Expanded>
- 5 >= 5
- </Expanded>
- </Expression>
- <Section name="We can use the 'swap trick' to reset the capacity">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() == 0
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 5
- </Original>
- <Expanded>
- 5 == 5
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 5
- </Original>
- <Expanded>
- 5 >= 5
- </Expanded>
- </Expression>
- <Section name="reserving bigger changes capacity but not size">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 5
- </Original>
- <Expanded>
- 5 == 5
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 10
- </Original>
- <Expanded>
- 10 >= 10
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 5
- </Original>
- <Expanded>
- 5 == 5
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 5
- </Original>
- <Expanded>
- 5 >= 5
- </Expanded>
- </Expression>
- <Section name="reserving smaller does not change size or capacity">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.size() == 5
- </Original>
- <Expanded>
- 5 == 5
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- v.capacity() >= 5
- </Original>
- <Expanded>
- 5 >= 5
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="A couple of nested sections followed by a failure">
- <Section name="Outer">
- <Section name="Inner">
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Failure>
- to infinity and beyond
- </Failure>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="not allowed">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Tabs and newlines show in output">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- s1 == s2
- </Original>
- <Expanded>
- "if ($b == 10) {
- $a = 20;
-}"
-==
-"if ($b == 10) {
- $a = 20;
-}
-"
- </Expanded>
- </Expression>
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="toString on const wchar_t const pointer returns the string contents">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- result == "\"wide load\""
- </Original>
- <Expanded>
- ""wide load"" == ""wide load""
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString on const wchar_t pointer returns the string contents">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- result == "\"wide load\""
- </Original>
- <Expanded>
- ""wide load"" == ""wide load""
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString on wchar_t const pointer returns the string contents">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- result == "\"wide load\""
- </Original>
- <Expanded>
- ""wide load"" == ""wide load""
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString on wchar_t returns the string contents">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- result == "\"wide load\""
- </Original>
- <Expanded>
- ""wide load"" == ""wide load""
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="XmlEncode">
- <Section name="normal string">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "normal string" ) == "normal string"
- </Original>
- <Expanded>
- "normal string" == "normal string"
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="empty string">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "" ) == ""
- </Original>
- <Expanded>
- "" == ""
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="string with ampersand">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "smith & jones" ) == "smith &amp; jones"
- </Original>
- <Expanded>
- "smith &amp; jones" == "smith &amp; jones"
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="string with less-than">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "smith < jones" ) == "smith &lt; jones"
- </Original>
- <Expanded>
- "smith &lt; jones" == "smith &lt; jones"
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="string with greater-than">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "smith > jones" ) == "smith > jones"
- </Original>
- <Expanded>
- "smith > jones" == "smith > jones"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "smith ]]> jones" ) == "smith ]]&gt; jones"
- </Original>
- <Expanded>
- "smith ]]&gt; jones"
-==
-"smith ]]&gt; jones"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="string with quotes">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( stringWithQuotes ) == stringWithQuotes
- </Original>
- <Expanded>
- "don't "quote" me on that"
-==
-"don't "quote" me on that"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( stringWithQuotes, Catch::XmlEncode::ForAttributes ) == "don't &quot;quote&quot; me on that"
- </Original>
- <Expanded>
- "don't &quot;quote&quot; me on that"
-==
-"don't &quot;quote&quot; me on that"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="string with control char (1)">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "[\x01]" ) == "[&#x01;]"
- </Original>
- <Expanded>
- "[&#x01;]" == "[&#x01;]"
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="string with control char (x7F)">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- encode( "[\x7F]" ) == "[&#x7F;]"
- </Original>
- <Expanded>
- "[&#x7F;]" == "[&#x7F;]"
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="long long">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
- <Original>
- l == std::numeric_limits<long long>::max()
- </Original>
- <Expanded>
- 9223372036854775807 (0x<hex digits>)
-==
-9223372036854775807 (0x<hex digits>)
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="This test 'should' fail but doesn't">
- <OverallResult success="false"/>
- </TestCase>
- <TestCase name="# A test name that starts with a #">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Process can be configured on command line">
- <Section name="default - no arguments">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.shouldDebugBreak == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.abortAfter == -1
- </Original>
- <Expanded>
- -1 == -1
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.noThrow == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.reporterNames.empty()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="5" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="test lists">
- <Section name="1 test" description="Specify one test case using">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- cfg.testSpec().matches( fakeTestCase( "notIncluded" ) ) == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- cfg.testSpec().matches( fakeTestCase( "test1" ) )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="test lists">
- <Section name="Specify one test case exclusion using exclude:">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="test lists">
- <Section name="Specify one test case exclusion using ~">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="3" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="reporter">
- <Section name="-r/console">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.reporterNames[0] == "console"
- </Original>
- <Expanded>
- "console" == "console"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="reporter">
- <Section name="-r/xml">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.reporterNames[0] == "xml"
- </Original>
- <Expanded>
- "xml" == "xml"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="reporter">
- <Section name="-r xml and junit">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.reporterNames.size() == 2
- </Original>
- <Expanded>
- 2 == 2
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.reporterNames[0] == "xml"
- </Original>
- <Expanded>
- "xml" == "xml"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.reporterNames[1] == "junit"
- </Original>
- <Expanded>
- "junit" == "junit"
- </Expanded>
- </Expression>
- <OverallResults successes="4" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="4" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="reporter">
- <Section name="--reporter/junit">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.reporterNames[0] == "junit"
- </Original>
- <Expanded>
- "junit" == "junit"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="debugger">
- <Section name="-b">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.shouldDebugBreak == true
- </Original>
- <Expanded>
- true == true
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="debugger">
- <Section name="--break">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.shouldDebugBreak
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="abort">
- <Section name="-a aborts after first failure">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.abortAfter == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="abort">
- <Section name="-x 2 aborts after two failures">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.abortAfter == 2
- </Original>
- <Expanded>
- 2 == 2
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="abort">
- <Section name="-x must be greater than zero">
- <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfigAndReturnError( argv, config ), Contains( "greater than zero" )
- </Original>
- <Expanded>
- "Value after -x or --abortAfter must be greater than zero
-- while parsing: (-x, --abortx <no. failures>)" contains: "greater than zero"
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="abort">
- <Section name="-x must be numeric">
- <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfigAndReturnError( argv, config ), Contains( "-x" )
- </Original>
- <Expanded>
- "Unable to convert oops to destination type
-- while parsing: (-x, --abortx <no. failures>)" contains: "-x"
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="nothrow">
- <Section name="-e">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.noThrow == true
- </Original>
- <Expanded>
- true == true
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="nothrow">
- <Section name="--nothrow">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.noThrow == true
- </Original>
- <Expanded>
- true == true
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="output filename">
- <Section name="-o filename">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.outputFilename == "filename.ext"
- </Original>
- <Expanded>
- "filename.ext" == "filename.ext"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="output filename">
- <Section name="--out">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.outputFilename == "filename.ext"
- </Original>
- <Expanded>
- "filename.ext" == "filename.ext"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="combinations">
- <Section name="Single character flags can be combined">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.abortAfter == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.shouldDebugBreak
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.noThrow == true
- </Original>
- <Expanded>
- true == true
- </Expanded>
- </Expression>
- <OverallResults successes="4" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="4" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="use-colour">
- <Section name="without option">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.useColour == UseColour::Auto
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="use-colour">
- <Section name="auto">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.useColour == UseColour::Auto
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="use-colour">
- <Section name="yes">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.useColour == UseColour::Yes
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="use-colour">
- <Section name="no">
- <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config )
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- config.useColour == UseColour::No
- </Original>
- <Expanded>
- 2 == 2
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="use-colour">
- <Section name="error">
- <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- parseIntoConfig( argv, config ), Contains( "colour mode must be one of" )
- </Original>
- <Expanded>
- parseIntoConfig( argv, config ), Contains( "colour mode must be one of" )
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
<TestCase name="Long strings can be wrapped">
<Section name="plain string">
<Section name="No wrapping">
@@ -5176,168 +3042,6 @@
</Section>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="replaceInPlace">
- <Section name="replace single char">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- replaceInPlace( letters, "b", "z" )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- letters == "azcdefcg"
- </Original>
- <Expanded>
- "azcdefcg" == "azcdefcg"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="replace two chars">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- replaceInPlace( letters, "c", "z" )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- letters == "abzdefzg"
- </Original>
- <Expanded>
- "abzdefzg" == "abzdefzg"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="replace first char">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- replaceInPlace( letters, "a", "z" )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- letters == "zbcdefcg"
- </Original>
- <Expanded>
- "zbcdefcg" == "zbcdefcg"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="replace last char">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- replaceInPlace( letters, "g", "z" )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- letters == "abcdefcz"
- </Original>
- <Expanded>
- "abcdefcz" == "abcdefcz"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="replace all chars">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- replaceInPlace( letters, letters, "replaced" )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- letters == "replaced"
- </Original>
- <Expanded>
- "replaced" == "replaced"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="replace no chars">
- <Expression success="true" type="CHECK_FALSE" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- !replaceInPlace( letters, "x", "z" )
- </Original>
- <Expanded>
- !false
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- letters == letters
- </Original>
- <Expanded>
- "abcdefcg" == "abcdefcg"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="escape '">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- replaceInPlace( s, "'", "|'" )
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- s == "didn|'t"
- </Original>
- <Expanded>
- "didn|'t" == "didn|'t"
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Strings can be rendered with colour">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Text can be formatted using the Text class">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- Text( "hi there" ).toString() == "hi there"
- </Original>
- <Expanded>
- "hi there" == "hi there"
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
- <Original>
- Text( "hi there", narrow ).toString() == "hi\nthere"
- </Original>
- <Expanded>
- "hi
-there"
-==
-"hi
-there"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
<TestCase name="Long text is truncted">
<Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TestMain.cpp" >
<Original>
@@ -6352,204 +4056,122 @@
<TestCase name="ManuallyRegistered">
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Parsing a std::pair">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <TestCase name="Matchers can be (AllOf) composed with the && operator">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
<Original>
- (std::pair<int, int>( 1, 2 )) == aNicePair
+ testStringForMatching(), Contains( "string" ) && Contains( "abc" ) && Contains( "substring" ) && Contains( "contains" )
</Original>
<Expanded>
- std::pair( 1, 2 ) == std::pair( 1, 2 )
+ "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="Where there is more to the expression after the RHS">
- <Warning>
- Uncomment the code in this test to check that it gives a sensible compiler error
- </Warning>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Where the LHS is not a simple value">
- <Warning>
- Uncomment the code in this test to check that it gives a sensible compiler error
- </Warning>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="A failing expression with a non streamable type is still captured">
- <Expression success="false" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" >
+ <TestCase name="Matchers can be (AnyOf) composed with the || operator">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
<Original>
- &o1 == &o2
+ testStringForMatching(), Contains( "string" ) || Contains( "different" ) || Contains( "random" )
</Original>
<Expanded>
- 0x<hex digits> == 0x<hex digits>
+ "this string contains 'abc' as a substring" ( contains: "string" or contains: "different" or contains: "random" )
</Expanded>
</Expression>
- <Expression success="false" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
<Original>
- o1 == o2
+ testStringForMatching2(), Contains( "string" ) || Contains( "different" ) || Contains( "random" )
</Original>
<Expanded>
- {?} == {?}
+ "some completely different text that contains one common word" ( contains: "string" or contains: "different" or contains: "random" )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Matchers can be composed with both && and ||">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "substring" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "substring" )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Matchers can be composed with both && and || - failing">
+ <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "random" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "random" )
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
- <TestCase name="string literals of different sizes can be compared">
- <Expression success="false" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <TestCase name="Matchers can be negated (Not) with the ! operator">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
<Original>
- std::string( "first" ) == "second"
+ testStringForMatching(), !Contains( "different" )
</Original>
<Expanded>
- "first" == "second"
+ "this string contains 'abc' as a substring" not contains: "different"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Matchers can be negated (Not) with the ! operator - failing">
+ <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), !Contains( "substring" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" not contains: "substring"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
- <TestCase name="An expression with side-effects should only be evaluated once">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <TestCase name="Mismatching exception messages failing the test">
+ <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" >
<Original>
- i++ == 7
+ thisThrows(), "expected exception"
</Original>
<Expanded>
- 7 == 7
+ thisThrows(), "expected exception"
</Expanded>
</Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Expression success="false" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/ExceptionTests.cpp" >
<Original>
- i++ == 8
+ thisThrows(), "should fail"
</Original>
<Expanded>
- 8 == 8
+ expected exception
</Expanded>
</Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Nice descriptive name">
+ <Warning>
+ This one ran
+ </Warning>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Operators at different namespace levels not hijacked by Koenig lookup">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <TestCase name="Non-std exceptions can be translated">
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ custom exception
+ </Exception>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="NotImplemented exception">
+ <Expression success="true" type="REQUIRE_THROWS" filename="projects/SelfTest/ExceptionTests.cpp" >
<Original>
- 0x<hex digits> == o
+ thisFunctionNotImplemented( 7 )
</Original>
<Expanded>
- 3221225472 (0x<hex digits>) == {?}
+ thisFunctionNotImplemented( 7 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Demonstrate that a non-const == is not used">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- t == 1u
- </Original>
- <Expanded>
- {?} == 1
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Test enum bit values">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- 0x<hex digits> == bit30and31
- </Original>
- <Expanded>
- 3221225472 (0x<hex digits>) == 3221225472
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="boolean member">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- obj.prop != nullptr
- </Original>
- <Expanded>
- 0x<hex digits> != nullptr
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="(unimplemented) static bools can be evaluated">
- <Section name="compare to true">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- is_true<true>::value == true
- </Original>
- <Expanded>
- true == true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- true == is_true<true>::value
- </Original>
- <Expanded>
- true == true
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="compare to false">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- is_true<false>::value == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- false == is_true<false>::value
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="negation">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- !is_true<false>::value
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="double negation">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- !!is_true<true>::value
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <Section name="direct">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- is_true<true>::value
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE_FALSE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- !is_true<false>::value
- </Original>
- <Expanded>
- !false
- </Expanded>
- </Expression>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
<TestCase name="Objects that evaluated in boolean contexts can be checked">
<Expression success="true" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
@@ -6577,1479 +4199,325 @@
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Assertions then sections">
+ <TestCase name="Operators at different namespace levels not hijacked by Koenig lookup">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- Catch::alwaysTrue()
+ 0x<hex digits> == o
</Original>
<Expanded>
- true
+ 3221225472 (0x<hex digits>) == {?}
</Expanded>
</Expression>
- <Section name="A section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- Catch::alwaysTrue()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="Another section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- Catch::alwaysTrue()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Ordering comparison checks that should fail">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven > 7
+ </Original>
+ <Expanded>
+ 7 > 7
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven < 7
+ </Original>
+ <Expanded>
+ 7 < 7
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven > 8
+ </Original>
+ <Expanded>
+ 7 > 8
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven < 6
+ </Original>
+ <Expanded>
+ 7 < 6
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven < 0
+ </Original>
+ <Expanded>
+ 7 < 0
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven < -1
+ </Original>
+ <Expanded>
+ 7 < -1
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven >= 8
+ </Original>
+ <Expanded>
+ 7 >= 8
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven <= 6
+ </Original>
+ <Expanded>
+ 7 <= 6
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one < 9
+ </Original>
+ <Expanded>
+ 9.1f < 9
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one > 10
+ </Original>
+ <Expanded>
+ 9.1f > 10
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one > 9.2
+ </Original>
+ <Expanded>
+ 9.1f > 9.2
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello > "hello"
+ </Original>
+ <Expanded>
+ "hello" > "hello"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello < "hello"
+ </Original>
+ <Expanded>
+ "hello" < "hello"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello > "hellp"
+ </Original>
+ <Expanded>
+ "hello" > "hellp"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello > "z"
+ </Original>
+ <Expanded>
+ "hello" > "z"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello < "hellm"
+ </Original>
+ <Expanded>
+ "hello" < "hellm"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello < "a"
+ </Original>
+ <Expanded>
+ "hello" < "a"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello >= "z"
+ </Original>
+ <Expanded>
+ "hello" >= "z"
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello <= "a"
+ </Original>
+ <Expanded>
+ "hello" <= "a"
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Ordering comparison checks that should succeed">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven < 8
+ </Original>
+ <Expanded>
+ 7 < 8
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven > 6
+ </Original>
+ <Expanded>
+ 7 > 6
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven > 0
+ </Original>
+ <Expanded>
+ 7 > 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven > -1
+ </Original>
+ <Expanded>
+ 7 > -1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven >= 7
+ </Original>
+ <Expanded>
+ 7 >= 7
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven >= 6
+ </Original>
+ <Expanded>
+ 7 >= 6
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven <= 7
+ </Original>
+ <Expanded>
+ 7 <= 7
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.int_seven <= 8
+ </Original>
+ <Expanded>
+ 7 <= 8
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one > 9
+ </Original>
+ <Expanded>
+ 9.1f > 9
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one < 10
+ </Original>
+ <Expanded>
+ 9.1f < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.float_nine_point_one < 9.2
+ </Original>
+ <Expanded>
+ 9.1f < 9.2
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello <= "hello"
+ </Original>
+ <Expanded>
+ "hello" <= "hello"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello >= "hello"
+ </Original>
+ <Expanded>
+ "hello" >= "hello"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello < "hellp"
+ </Original>
+ <Expanded>
+ "hello" < "hellp"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello < "zebra"
+ </Original>
+ <Expanded>
+ "hello" < "zebra"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello > "hellm"
+ </Original>
+ <Expanded>
+ "hello" > "hellm"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ data.str_hello > "a"
+ </Original>
+ <Expanded>
+ "hello" > "a"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Output from all sections is reported">
+ <Section name="one">
+ <Failure>
+ Message from section one
+ </Failure>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- Catch::alwaysTrue()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="A section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- Catch::alwaysTrue()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="Another other section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- Catch::alwaysTrue()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ <Section name="two">
+ <Failure>
+ Message from section two
+ </Failure>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="non streamable - with conv. op">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- s == "7"
- </Original>
- <Expanded>
- "7" == "7"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Comparing function pointers">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- a
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- a == &foo
- </Original>
- <Expanded>
- 0x<hex digits> == 0x<hex digits>
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Comparing member function pointers">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- m == &S::f
- </Original>
- <Expanded>
- 0x<hex digits>
-==
-0x<hex digits>
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="pointer to class">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- p == 0
- </Original>
- <Expanded>
- NULL == 0
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="null_ptr">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
- <Original>
- ptr.get() == nullptr
- </Original>
- <Expanded>
- NULL == nullptr
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="X/level/0/a">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="X/level/0/b">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="X/level/1/a">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="X/level/1/b">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString( has_toString )">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
- <Original>
- Catch::toString( item ) == "toString( has_toString )"
- </Original>
- <Expanded>
- "toString( has_toString )"
-==
-"toString( has_toString )"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString( has_maker )">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
- <Original>
- Catch::toString( item ) == "StringMaker<has_maker>"
- </Original>
- <Expanded>
- "StringMaker<has_maker>"
-==
-"StringMaker<has_maker>"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString( has_maker_and_toString )">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
- <Original>
- Catch::toString( item ) == "toString( has_maker_and_toString )"
- </Original>
- <Expanded>
- "toString( has_maker_and_toString )"
-==
-"toString( has_maker_and_toString )"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString( vectors<has_toString )">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
- <Original>
- Catch::toString( v ) == "{ {?} }"
- </Original>
- <Expanded>
- "{ {?} }" == "{ {?} }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString( vectors<has_maker )">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
- <Original>
- Catch::toString( v ) == "{ StringMaker<has_maker> }"
- </Original>
- <Expanded>
- "{ StringMaker<has_maker> }"
-==
-"{ StringMaker<has_maker> }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="toString( vectors<has_maker_and_toString )">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
- <Original>
- Catch::toString( v ) == "{ StringMaker<has_maker_and_toString> }"
- </Original>
- <Expanded>
- "{ StringMaker<has_maker_and_toString> }"
-==
-"{ StringMaker<has_maker_and_toString> }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Tracker">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="successfully close one section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isSuccessfullyCompleted()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isSuccessfullyCompleted()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="4" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="fail one section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="re-enter after failed section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isSuccessfullyCompleted()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="5" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="10" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="fail one section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="re-enter after failed section and find next section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isSuccessfullyCompleted()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="6" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="11" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="successfully close one section, then find another">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Re-enter - skips S1 and enters S2">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Successfully close S2">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isSuccessfullyCompleted()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isSuccessfullyCompleted()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="4" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="8" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="10" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="successfully close one section, then find another">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Re-enter - skips S1 and enters S2">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="fail S2">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- ctx.completedCycle()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase3.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1c.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2c.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase3.isSuccessfullyCompleted()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="8" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="12" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="14" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="open a nested section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="6" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="start a generator">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.index() == 0
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="close outer section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Re-enter for second generation">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.index() == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="8" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="10" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="14" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="start a generator">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.index() == 0
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Start a new inner section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Re-enter for second generation">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.index() == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="9" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="13" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="17" failures="0" expectedFailures="0"/>
- </Section>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Section name="start a generator">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.index() == 0
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Fail an inner section">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2.isSuccessfullyCompleted() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Section name="Re-enter for second generation">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.index() == 0
- </Original>
- <Expanded>
- 0 == 0
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2b.isOpen() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1b.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1b.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase2.isComplete() == false
- </Original>
- <Expanded>
- false == false
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase3.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1c.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1c.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1c.index() == 1
- </Original>
- <Expanded>
- 1 == 1
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2c.isOpen()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s2c.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- g1c.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- s1c.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
- <Original>
- testCase3.isComplete()
- </Original>
- <Expanded>
- true
- </Expanded>
- </Expression>
- <OverallResults successes="17" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="22" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="26" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="std::pair<int,std::string> -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
- <Original>
- Catch::toString( value ) == "{ 34, \"xyzzy\" }"
- </Original>
- <Expanded>
- "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="std::pair<int,const std::string> -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
- <Original>
- Catch::toString(value) == "{ 34, \"xyzzy\" }"
- </Original>
- <Expanded>
- "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="std::vector<std::pair<std::string,int> > -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
- <Original>
- Catch::toString( pr ) == "{ { \"green\", 55 } }"
- </Original>
- <Expanded>
- "{ { "green", 55 } }"
-==
-"{ { "green", 55 } }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="pair<pair<int,const char *,pair<std::string,int> > -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
- <Original>
- Catch::toString( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }"
- </Original>
- <Expanded>
- "{ { 42, "Arthur" }, { "Ford", 24 } }"
-==
-"{ { 42, "Arthur" }, { "Ford", 24 } }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="vector<int> -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ }"
- </Original>
- <Expanded>
- "{ }" == "{ }"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ 42 }"
- </Original>
- <Expanded>
- "{ 42 }" == "{ 42 }"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ 42, 250 }"
- </Original>
- <Expanded>
- "{ 42, 250 }" == "{ 42, 250 }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="vector<string> -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ }"
- </Original>
- <Expanded>
- "{ }" == "{ }"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ \"hello\" }"
- </Original>
- <Expanded>
- "{ "hello" }" == "{ "hello" }"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ \"hello\", \"world\" }"
- </Original>
- <Expanded>
- "{ "hello", "world" }"
-==
-"{ "hello", "world" }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="vector<int,allocator> -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ }"
- </Original>
- <Expanded>
- "{ }" == "{ }"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ 42 }"
- </Original>
- <Expanded>
- "{ 42 }" == "{ 42 }"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(vv) == "{ 42, 250 }"
- </Original>
- <Expanded>
- "{ 42, 250 }" == "{ 42, 250 }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="vec<vec<string,alloc>> -> toString">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(v) == "{ }"
- </Original>
- <Expanded>
- "{ }" == "{ }"
- </Expanded>
- </Expression>
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
- <Original>
- Catch::toString(v) == "{ { \"hello\" }, { \"world\" } }"
- </Original>
- <Expanded>
- "{ { "hello" }, { "world" } }"
-==
-"{ { "hello" }, { "world" } }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
+ <OverallResult success="false"/>
</TestCase>
<TestCase name="Parse test names and tags">
<Section name="Empty test spec should have no filters">
@@ -9227,185 +5695,808 @@
</Section>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="tuple<>">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <TestCase name="Parsing a std::pair">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
- "{ }" == Catch::toString(type{})
+ (std::pair<int, int>( 1, 2 )) == aNicePair
</Original>
<Expanded>
- "{ }" == "{ }"
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
- <Original>
- "{ }" == Catch::toString(value)
- </Original>
- <Expanded>
- "{ }" == "{ }"
+ std::pair( 1, 2 ) == std::pair( 1, 2 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="tuple<int>">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <TestCase name="Pointers can be compared to null">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
<Original>
- "{ 0 }" == Catch::toString(type{0})
+ p == nullptr
</Original>
<Expanded>
- "{ 0 }" == "{ 0 }"
+ NULL == nullptr
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ p == pNULL
+ </Original>
+ <Expanded>
+ NULL == NULL
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ p != nullptr
+ </Original>
+ <Expanded>
+ 0x<hex digits> != nullptr
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ cp != nullptr
+ </Original>
+ <Expanded>
+ 0x<hex digits> != nullptr
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ cpc != nullptr
+ </Original>
+ <Expanded>
+ 0x<hex digits> != nullptr
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ returnsNull() == nullptr
+ </Original>
+ <Expanded>
+ {null string} == nullptr
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ returnsConstNull() == nullptr
+ </Original>
+ <Expanded>
+ {null string} == nullptr
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ nullptr != p
+ </Original>
+ <Expanded>
+ nullptr != 0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="tuple<float,int>">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
- <Original>
- "1.2f" == Catch::toString(float(1.2))
- </Original>
- <Expanded>
- "1.2f" == "1.2f"
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
- <Original>
- "{ 1.2f, 0 }" == Catch::toString(type{1.2,0})
- </Original>
- <Expanded>
- "{ 1.2f, 0 }" == "{ 1.2f, 0 }"
- </Expanded>
- </Expression>
+ <TestCase name="Pointers can be converted to strings">
+ <Warning>
+ actual address of p: 0x<hex digits>
+ </Warning>
+ <Warning>
+ toString(p): 0x<hex digits>
+ </Warning>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="tuple<string,string>">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
- <Original>
- "{ \"hello\", \"world\" }" == Catch::toString(type{"hello","world"})
- </Original>
- <Expanded>
- "{ "hello", "world" }"
-==
-"{ "hello", "world" }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="tuple<tuple<int>,tuple<>,float>">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
- <Original>
- "{ { 42 }, { }, 1.2f }" == Catch::toString(value)
- </Original>
- <Expanded>
- "{ { 42 }, { }, 1.2f }"
-==
-"{ { 42 }, { }, 1.2f }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="tuple<nullptr,int,const char *>">
- <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
- <Original>
- "{ nullptr, 42, \"Catch me\" }" == Catch::toString(value)
- </Original>
- <Expanded>
- "{ nullptr, 42, "Catch me" }"
-==
-"{ nullptr, 42, "Catch me" }"
- </Expanded>
- </Expression>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Tag alias can be registered against tag patterns">
- <Section name="The same tag alias can only be registered once">
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <TestCase name="Process can be configured on command line">
+ <Section name="default - no arguments">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
<Original>
- what, Contains( "[@zzz]" )
+ parseIntoConfig( argv, config )
</Original>
<Expanded>
- "error: tag alias, "[@zzz]" already registered.
- First seen at file:2
- Redefined at file:10" contains: "[@zzz]"
+ parseIntoConfig( argv, config )
</Expanded>
</Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
<Original>
- what, Contains( "file" )
+ config.shouldDebugBreak == false
</Original>
<Expanded>
- "error: tag alias, "[@zzz]" already registered.
- First seen at file:2
- Redefined at file:10" contains: "file"
+ false == false
</Expanded>
</Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
<Original>
- what, Contains( "2" )
+ config.abortAfter == -1
</Original>
<Expanded>
- "error: tag alias, "[@zzz]" already registered.
- First seen at file:2
- Redefined at file:10" contains: "2"
+ -1 == -1
</Expanded>
</Expression>
- <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
<Original>
- what, Contains( "10" )
+ config.noThrow == false
</Original>
<Expanded>
- "error: tag alias, "[@zzz]" already registered.
- First seen at file:2
- Redefined at file:10" contains: "10"
+ false == false
</Expanded>
</Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.reporterNames.empty()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="5" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="test lists">
+ <Section name="1 test" description="Specify one test case using">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ cfg.testSpec().matches( fakeTestCase( "notIncluded" ) ) == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ cfg.testSpec().matches( fakeTestCase( "test1" ) )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="test lists">
+ <Section name="Specify one test case exclusion using exclude:">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="test lists">
+ <Section name="Specify one test case exclusion using ~">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="reporter">
+ <Section name="-r/console">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.reporterNames[0] == "console"
+ </Original>
+ <Expanded>
+ "console" == "console"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="reporter">
+ <Section name="-r/xml">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.reporterNames[0] == "xml"
+ </Original>
+ <Expanded>
+ "xml" == "xml"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="reporter">
+ <Section name="-r xml and junit">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.reporterNames.size() == 2
+ </Original>
+ <Expanded>
+ 2 == 2
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.reporterNames[0] == "xml"
+ </Original>
+ <Expanded>
+ "xml" == "xml"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.reporterNames[1] == "junit"
+ </Original>
+ <Expanded>
+ "junit" == "junit"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="4" failures="0" expectedFailures="0"/>
+ </Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
- <Section name="Tag aliases must be of the form [@name]">
- <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
- <Original>
- registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) )
- </Original>
- <Expanded>
- registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) )
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
- <Original>
- registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) )
- </Original>
- <Expanded>
- registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) )
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
- <Original>
- registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) )
- </Original>
- <Expanded>
- registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) )
- </Expanded>
- </Expression>
- <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
- <Original>
- registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) )
- </Original>
- <Expanded>
- registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) )
- </Expanded>
- </Expression>
- <OverallResults successes="4" failures="0" expectedFailures="0"/>
+ <Section name="reporter">
+ <Section name="--reporter/junit">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.reporterNames[0] == "junit"
+ </Original>
+ <Expanded>
+ "junit" == "junit"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Anonymous test case 1">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Test case with one argument">
- <OverallResult success="true"/>
- </TestCase>
- <TestCase name="Variadic macros">
- <Section name="Section with one argument">
+ <Section name="debugger">
+ <Section name="-b">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.shouldDebugBreak == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="debugger">
+ <Section name="--break">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.shouldDebugBreak
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="abort">
+ <Section name="-a aborts after first failure">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.abortAfter == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="abort">
+ <Section name="-x 2 aborts after two failures">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.abortAfter == 2
+ </Original>
+ <Expanded>
+ 2 == 2
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="abort">
+ <Section name="-x must be greater than zero">
+ <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfigAndReturnError( argv, config ), Contains( "greater than zero" )
+ </Original>
+ <Expanded>
+ "Value after -x or --abortAfter must be greater than zero
+- while parsing: (-x, --abortx <no. failures>)" contains: "greater than zero"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
+ <Section name="abort">
+ <Section name="-x must be numeric">
+ <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfigAndReturnError( argv, config ), Contains( "-x" )
+ </Original>
+ <Expanded>
+ "Unable to convert oops to destination type
+- while parsing: (-x, --abortx <no. failures>)" contains: "-x"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="nothrow">
+ <Section name="-e">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.noThrow == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="nothrow">
+ <Section name="--nothrow">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.noThrow == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="output filename">
+ <Section name="-o filename">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.outputFilename == "filename.ext"
+ </Original>
+ <Expanded>
+ "filename.ext" == "filename.ext"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="output filename">
+ <Section name="--out">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.outputFilename == "filename.ext"
+ </Original>
+ <Expanded>
+ "filename.ext" == "filename.ext"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="combinations">
+ <Section name="Single character flags can be combined">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.abortAfter == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.shouldDebugBreak
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.noThrow == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="4" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="4" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="use-colour">
+ <Section name="without option">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.useColour == UseColour::Auto
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="use-colour">
+ <Section name="auto">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.useColour == UseColour::Auto
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="use-colour">
+ <Section name="yes">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.useColour == UseColour::Yes
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="use-colour">
+ <Section name="no">
+ <Expression success="true" type="CHECK_NOTHROW" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ config.useColour == UseColour::No
+ </Original>
+ <Expanded>
+ 2 == 2
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="use-colour">
+ <Section name="error">
+ <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ parseIntoConfig( argv, config ), Contains( "colour mode must be one of" )
+ </Original>
+ <Expanded>
+ parseIntoConfig( argv, config ), Contains( "colour mode must be one of" )
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="SCOPED_INFO is reset for each loop">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 0 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 1 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 2 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 3 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 4 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 5 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 6 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 7 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 8 < 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 9 < 10
+ </Expanded>
+ </Expression>
+ <Info>
+ current counter 10
+ </Info>
+ <Info>
+ i := 10
+ </Info>
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ i < 10
+ </Original>
+ <Expanded>
+ 10 < 10
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="SUCCEED counts as a test pass">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="SUCCESS does not require an argument">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or methods">
+ <Section name="Given: No operations precede me">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" >
+ <Original>
+ before == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Section name="When: We get the count">
+ <Section name="Then: Subsequently values are higher">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" >
+ <Original>
+ after > before
+ </Original>
+ <Expanded>
+ 1 > 0
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Scenario: Do that thing with the thing">
@@ -9439,6 +6530,18 @@
</Section>
<OverallResult success="true"/>
</TestCase>
+ <TestCase name="Scenario: This is a really long scenario name to see how the list command deals with wrapping">
+ <Section name="Given: A section name that is so long that it cannot fit in a single console width">
+ <Section name="When: The test headers are printed as part of the normal running of the scenario">
+ <Section name="Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent">
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
<TestCase name="Scenario: Vector resizing affects size and capacity">
<Section name="Given: an empty vector">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" >
@@ -9530,44 +6633,2941 @@
</Section>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Scenario: This is a really long scenario name to see how the list command deals with wrapping">
- <Section name="Given: A section name that is so long that it cannot fit in a single console width">
- <Section name="When: The test headers are printed as part of the normal running of the scenario">
- <Section name="Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent">
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
- </Section>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ <TestCase name="Sends stuff to stdout and stderr">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Some simple comparisons between doubles">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ d == Approx( 1.23 )
+ </Original>
+ <Expanded>
+ 1.23 == Approx( 1.23 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ d != Approx( 1.22 )
+ </Original>
+ <Expanded>
+ 1.23 != Approx( 1.22 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ d != Approx( 1.24 )
+ </Original>
+ <Expanded>
+ 1.23 != Approx( 1.24 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ Approx( d ) == 1.23
+ </Original>
+ <Expanded>
+ Approx( 1.23 ) == 1.23
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ Approx( d ) != 1.22
+ </Original>
+ <Expanded>
+ Approx( 1.23 ) != 1.22
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ Approx( d ) != 1.24
+ </Original>
+ <Expanded>
+ Approx( 1.23 ) != 1.24
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Standard output from all sections is reported">
+ <Section name="one">
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <Section name="two">
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="StartsWith string matcher">
+ <Expression success="false" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), StartsWith( "string" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" starts with: "string"
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="String matchers">
+ <Expression success="true" type="REQUIRE_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), Contains( "string" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" contains: "string"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), Contains( "abc" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" contains: "abc"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), StartsWith( "this" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" starts with: "this"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testStringForMatching(), EndsWith( "substring" )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ends with: "substring"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Strings can be rendered with colour">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Tabs and newlines show in output">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ s1 == s2
+ </Original>
+ <Expanded>
+ "if ($b == 10) {
+ $a = 20;
+}"
+==
+"if ($b == 10) {
+ $a = 20;
+}
+"
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Tag alias can be registered against tag patterns">
+ <Section name="The same tag alias can only be registered once">
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ what, Contains( "[@zzz]" )
+ </Original>
+ <Expanded>
+ "error: tag alias, "[@zzz]" already registered.
+ First seen at file:2
+ Redefined at file:10" contains: "[@zzz]"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ what, Contains( "file" )
+ </Original>
+ <Expanded>
+ "error: tag alias, "[@zzz]" already registered.
+ First seen at file:2
+ Redefined at file:10" contains: "file"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ what, Contains( "2" )
+ </Original>
+ <Expanded>
+ "error: tag alias, "[@zzz]" already registered.
+ First seen at file:2
+ Redefined at file:10" contains: "2"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ what, Contains( "10" )
+ </Original>
+ <Expanded>
+ "error: tag alias, "[@zzz]" already registered.
+ First seen at file:2
+ Redefined at file:10" contains: "10"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="4" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="Tag aliases must be of the form [@name]">
+ <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Original>
+ <Expanded>
+ registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Original>
+ <Expanded>
+ registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Original>
+ <Expanded>
+ registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THROWS" filename="projects/SelfTest/TagAliasTests.cpp" >
+ <Original>
+ registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Original>
+ <Expanded>
+ registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) )
+ </Expanded>
+ </Expression>
+ <OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
- <TestCase name="Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or methods">
- <Section name="Given: No operations precede me">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" >
+ <TestCase name="Test case with one argument">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Test enum bit values">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ 0x<hex digits> == bit30and31
+ </Original>
+ <Expanded>
+ 3221225472 (0x<hex digits>) == 3221225472
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Text can be formatted using the Text class">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ Text( "hi there" ).toString() == "hi there"
+ </Original>
+ <Expanded>
+ "hi there" == "hi there"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ Text( "hi there", narrow ).toString() == "hi\nthere"
+ </Original>
+ <Expanded>
+ "hi
+there"
+==
+"hi
+there"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="The NO_FAIL macro reports a failure but does not fail the test">
+ <Expression success="false" type="CHECK_NOFAIL" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ 1 == 2
+ </Original>
+ <Expanded>
+ 1 == 2
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="This test 'should' fail but doesn't">
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Tracker">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="successfully close one section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
<Original>
- before == 0
+ s1.isSuccessfullyCompleted()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isSuccessfullyCompleted()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="4" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="fail one section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="re-enter after failed section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isSuccessfullyCompleted()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="5" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="10" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="fail one section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="re-enter after failed section and find next section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isSuccessfullyCompleted()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="6" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="11" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="successfully close one section, then find another">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Re-enter - skips S1 and enters S2">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Successfully close S2">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isSuccessfullyCompleted()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isSuccessfullyCompleted()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="4" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="8" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="10" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="successfully close one section, then find another">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Re-enter - skips S1 and enters S2">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="fail S2">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ ctx.completedCycle()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase3.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1c.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2c.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase3.isSuccessfullyCompleted()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="8" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="12" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="14" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="open a nested section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="6" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="start a generator">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.index() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
- <Section name="When: We get the count">
- <Section name="Then: Subsequently values are higher">
- <Expression success="true" type="REQUIRE" filename="projects/SelfTest/BDDTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="close outer section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Re-enter for second generation">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
<Original>
- after > before
+ testCase2.isOpen()
</Original>
<Expanded>
- 1 > 0
+ true
</Expanded>
</Expression>
- <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.index() == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="8" failures="0" expectedFailures="0"/>
</Section>
+ <OverallResults successes="10" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="14" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="start a generator">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.index() == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Start a new inner section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Re-enter for second generation">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.index() == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="9" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="13" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="17" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Section name="start a generator">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.index() == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Fail an inner section">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2.isSuccessfullyCompleted() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Section name="Re-enter for second generation">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.index() == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2b.isOpen() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1b.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1b.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase2.isComplete() == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase3.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1c.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1c.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1c.index() == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2c.isOpen()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s2c.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ g1c.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ s1c.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/PartTrackerTests.cpp" >
+ <Original>
+ testCase3.isComplete()
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="17" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="22" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="26" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Unexpected exceptions can be translated">
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ 3.14
+ </Exception>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Use a custom approx">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ d == approx( 1.23 )
+ </Original>
+ <Expanded>
+ 1.23 == Approx( 1.23 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ d == approx( 1.22 )
+ </Original>
+ <Expanded>
+ 1.23 == Approx( 1.22 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ d == approx( 1.24 )
+ </Original>
+ <Expanded>
+ 1.23 == Approx( 1.24 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ d != approx( 1.25 )
+ </Original>
+ <Expanded>
+ 1.23 != Approx( 1.25 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ approx( d ) == 1.23
+ </Original>
+ <Expanded>
+ Approx( 1.23 ) == 1.23
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ approx( d ) == 1.22
+ </Original>
+ <Expanded>
+ Approx( 1.23 ) == 1.22
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ approx( d ) == 1.24
+ </Original>
+ <Expanded>
+ Approx( 1.23 ) == 1.24
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ApproxTests.cpp" >
+ <Original>
+ approx( d ) != 1.25
+ </Original>
+ <Expanded>
+ Approx( 1.23 ) != 1.25
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Variadic macros">
+ <Section name="Section with one argument">
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="When checked exceptions are thrown they can be expected or unexpected">
+ <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ thisThrows()
+ </Original>
+ <Expanded>
+ thisThrows()
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ thisDoesntThrow()
+ </Original>
+ <Expanded>
+ thisDoesntThrow()
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_THROWS" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ thisThrows()
+ </Original>
+ <Expanded>
+ thisThrows()
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="When unchecked exceptions are thrown directly they are always failures">
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ unexpected exception
+ </Exception>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="When unchecked exceptions are thrown during a CHECK the test should abort and fail">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ thisThrows() == 0
+ </Original>
+ <Expanded>
+ thisThrows() == 0
+ </Expanded>
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ expected exception
+ </Exception>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="When unchecked exceptions are thrown during a REQUIRE the test should abort fail">
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ thisThrows() == 0
+ </Original>
+ <Expanded>
+ thisThrows() == 0
+ </Expanded>
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ expected exception
+ </Exception>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="When unchecked exceptions are thrown from functions they are always failures">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/ExceptionTests.cpp" >
+ <Original>
+ thisThrows() == 0
+ </Original>
+ <Expanded>
+ thisThrows() == 0
+ </Expanded>
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ expected exception
+ </Exception>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="When unchecked exceptions are thrown from sections they are always failures">
+ <Section name="section name">
+ <Exception filename="projects/SelfTest/ExceptionTests.cpp" >
+ unexpected exception
+ </Exception>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="When unchecked exceptions are thrown, but caught, they do not affect the test">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Where the LHS is not a simple value">
+ <Warning>
+ Uncomment the code in this test to check that it gives a sensible compiler error
+ </Warning>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Where there is more to the expression after the RHS">
+ <Warning>
+ Uncomment the code in this test to check that it gives a sensible compiler error
+ </Warning>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="X/level/0/a">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="X/level/0/b">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="X/level/1/a">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="X/level/1/b">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="XmlEncode">
+ <Section name="normal string">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "normal string" ) == "normal string"
+ </Original>
+ <Expanded>
+ "normal string" == "normal string"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="empty string">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "" ) == ""
+ </Original>
+ <Expanded>
+ "" == ""
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="string with ampersand">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "smith & jones" ) == "smith &amp; jones"
+ </Original>
+ <Expanded>
+ "smith &amp; jones" == "smith &amp; jones"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="string with less-than">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "smith < jones" ) == "smith &lt; jones"
+ </Original>
+ <Expanded>
+ "smith &lt; jones" == "smith &lt; jones"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="string with greater-than">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "smith > jones" ) == "smith > jones"
+ </Original>
+ <Expanded>
+ "smith > jones" == "smith > jones"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "smith ]]> jones" ) == "smith ]]&gt; jones"
+ </Original>
+ <Expanded>
+ "smith ]]&gt; jones"
+==
+"smith ]]&gt; jones"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="string with quotes">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( stringWithQuotes ) == stringWithQuotes
+ </Original>
+ <Expanded>
+ "don't "quote" me on that"
+==
+"don't "quote" me on that"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( stringWithQuotes, Catch::XmlEncode::ForAttributes ) == "don't &quot;quote&quot; me on that"
+ </Original>
+ <Expanded>
+ "don't &quot;quote&quot; me on that"
+==
+"don't &quot;quote&quot; me on that"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="string with control char (1)">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "[\x01]" ) == "[&#x01;]"
+ </Original>
+ <Expanded>
+ "[&#x01;]" == "[&#x01;]"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="string with control char (x7F)">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ encode( "[\x7F]" ) == "[&#x7F;]"
+ </Original>
+ <Expanded>
+ "[&#x7F;]" == "[&#x7F;]"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="atomic if">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ x == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="boolean member">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ obj.prop != nullptr
+ </Original>
+ <Expanded>
+ 0x<hex digits> != nullptr
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="checkedElse">
+ <Expression success="true" type="CHECKED_ELSE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ flag
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testCheckedElse( true )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="checkedElse, failing">
+ <Expression success="false" type="CHECKED_ELSE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ flag
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testCheckedElse( false )
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="checkedIf">
+ <Expression success="true" type="CHECKED_IF" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ flag
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testCheckedIf( true )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="checkedIf, failing">
+ <Expression success="false" type="CHECKED_IF" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ flag
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ testCheckedIf( false )
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="comparisons between const int variables">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ unsigned_char_var == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ unsigned_short_var == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ unsigned_int_var == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ unsigned_long_var == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="comparisons between int variables">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ long_var == unsigned_char_var
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ long_var == unsigned_short_var
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ long_var == unsigned_int_var
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ConditionTests.cpp" >
+ <Original>
+ long_var == unsigned_long_var
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="even more nested SECTION tests">
+ <Section name="c">
+ <Section name="d (leaf)">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="c">
+ <Section name="e (leaf)">
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="f (leaf)">
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="first tag">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="just failure">
+ <Failure>
+ Previous info should not be seen
+ </Failure>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="just info">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="long long">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ l == std::numeric_limits<long long>::max()
+ </Original>
+ <Expanded>
+ 9223372036854775807 (0x<hex digits>)
+==
+9223372036854775807 (0x<hex digits>)
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="looped SECTION tests">
+ <Section name="s1" description="b is currently: 0">
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ b > a
+ </Original>
+ <Expanded>
+ 0 > 1
+ </Expanded>
+ </Expression>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="looped tests">
+ <Info>
+ Testing if fib[0] (1) is even
+ </Info>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 1 == 0
+ </Expanded>
+ </Expression>
+ <Info>
+ Testing if fib[1] (1) is even
+ </Info>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 1 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Info>
+ Testing if fib[3] (3) is even
+ </Info>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 1 == 0
+ </Expanded>
+ </Expression>
+ <Info>
+ Testing if fib[4] (5) is even
+ </Info>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 1 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Info>
+ Testing if fib[6] (13) is even
+ </Info>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 1 == 0
+ </Expanded>
+ </Expression>
+ <Info>
+ Testing if fib[7] (21) is even
+ </Info>
+ <Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ ( fib[i] % 2 ) == 0
+ </Original>
+ <Expanded>
+ 1 == 0
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="more nested SECTION tests">
+ <Section name="s1" description="doesn't equal">
+ <Section name="s2" description="equal">
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ a == b
+ </Original>
+ <Expanded>
+ 1 == 2
+ </Expanded>
+ </Expression>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <Section name="s1" description="doesn't equal">
+ <Section name="s3" description="not equal">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ a != b
+ </Original>
+ <Expanded>
+ 1 != 2
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="s1" description="doesn't equal">
+ <Section name="s4" description="less than">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ a < b
+ </Original>
+ <Expanded>
+ 1 < 2
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="nested SECTION tests">
+ <Section name="s1" description="doesn't equal">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ a != b
+ </Original>
+ <Expanded>
+ 1 != 2
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ b != a
+ </Original>
+ <Expanded>
+ 2 != 1
+ </Expanded>
+ </Expression>
+ <Section name="s2" description="not equal">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ a != b
+ </Original>
+ <Expanded>
+ 1 != 2
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="non streamable - with conv. op">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ s == "7"
+ </Original>
+ <Expanded>
+ "7" == "7"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="not allowed">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="null strings">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ makeString( false ) != static_cast<char*>(nullptr)
+ </Original>
+ <Expanded>
+ "valid string" != {null string}
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ makeString( true ) == static_cast<char*>(nullptr)
+ </Original>
+ <Expanded>
+ {null string} == {null string}
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="null_ptr">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ ptr.get() == nullptr
+ </Original>
+ <Expanded>
+ NULL == nullptr
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="pair<pair<int,const char *,pair<std::string,int> > -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
+ <Original>
+ Catch::toString( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }"
+ </Original>
+ <Expanded>
+ "{ { 42, "Arthur" }, { "Ford", 24 } }"
+==
+"{ { 42, "Arthur" }, { "Ford", 24 } }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="pointer to class">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ p == 0
+ </Original>
+ <Expanded>
+ NULL == 0
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="random SECTION tests">
+ <Section name="s1" description="doesn't equal">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ a != b
+ </Original>
+ <Expanded>
+ 1 != 2
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ b != a
+ </Original>
+ <Expanded>
+ 2 != 1
+ </Expanded>
+ </Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
+ <Section name="s2" description="not equal">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ a != b
+ </Original>
+ <Expanded>
+ 1 != 2
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="replaceInPlace">
+ <Section name="replace single char">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ replaceInPlace( letters, "b", "z" )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ letters == "azcdefcg"
+ </Original>
+ <Expanded>
+ "azcdefcg" == "azcdefcg"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="replace two chars">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ replaceInPlace( letters, "c", "z" )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ letters == "abzdefzg"
+ </Original>
+ <Expanded>
+ "abzdefzg" == "abzdefzg"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="replace first char">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ replaceInPlace( letters, "a", "z" )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ letters == "zbcdefcg"
+ </Original>
+ <Expanded>
+ "zbcdefcg" == "zbcdefcg"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="replace last char">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ replaceInPlace( letters, "g", "z" )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ letters == "abcdefcz"
+ </Original>
+ <Expanded>
+ "abcdefcz" == "abcdefcz"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="replace all chars">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ replaceInPlace( letters, letters, "replaced" )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ letters == "replaced"
+ </Original>
+ <Expanded>
+ "replaced" == "replaced"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="replace no chars">
+ <Expression success="true" type="CHECK_FALSE" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ !replaceInPlace( letters, "x", "z" )
+ </Original>
+ <Expanded>
+ !false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ letters == letters
+ </Original>
+ <Expanded>
+ "abcdefcg" == "abcdefcg"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="escape '">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ replaceInPlace( s, "'", "|'" )
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/TestMain.cpp" >
+ <Original>
+ s == "didn|'t"
+ </Original>
+ <Expanded>
+ "didn|'t" == "didn|'t"
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="second tag">
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="send a single char to INFO">
+ <Info>
+ 3
+ </Info>
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ false
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="sends information to INFO">
+ <Info>
+ hi
+ </Info>
+ <Info>
+ i := 7
+ </Info>
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/MessageTests.cpp" >
+ <Original>
+ false
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="std::pair<int,const std::string> -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
+ <Original>
+ Catch::toString(value) == "{ 34, \"xyzzy\" }"
+ </Original>
+ <Expanded>
+ "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="std::pair<int,std::string> -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
+ <Original>
+ Catch::toString( value ) == "{ 34, \"xyzzy\" }"
+ </Original>
+ <Expanded>
+ "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="std::vector<std::pair<std::string,int> > -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
+ <Original>
+ Catch::toString( pr ) == "{ { \"green\", 55 } }"
+ </Original>
+ <Expanded>
+ "{ { "green", 55 } }"
+==
+"{ { "green", 55 } }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="string literals of different sizes can be compared">
+ <Expression success="false" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
+ <Original>
+ std::string( "first" ) == "second"
+ </Original>
+ <Expanded>
+ "first" == "second"
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="toString on const wchar_t const pointer returns the string contents">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ result == "\"wide load\""
+ </Original>
+ <Expanded>
+ ""wide load"" == ""wide load""
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString on const wchar_t pointer returns the string contents">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ result == "\"wide load\""
+ </Original>
+ <Expanded>
+ ""wide load"" == ""wide load""
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString on wchar_t const pointer returns the string contents">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ result == "\"wide load\""
+ </Original>
+ <Expanded>
+ ""wide load"" == ""wide load""
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString on wchar_t returns the string contents">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ result == "\"wide load\""
+ </Original>
+ <Expanded>
+ ""wide load"" == ""wide load""
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString( has_maker )">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
+ <Original>
+ Catch::toString( item ) == "StringMaker<has_maker>"
+ </Original>
+ <Expanded>
+ "StringMaker<has_maker>"
+==
+"StringMaker<has_maker>"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString( has_maker_and_toString )">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
+ <Original>
+ Catch::toString( item ) == "toString( has_maker_and_toString )"
+ </Original>
+ <Expanded>
+ "toString( has_maker_and_toString )"
+==
+"toString( has_maker_and_toString )"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString( has_toString )">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
+ <Original>
+ Catch::toString( item ) == "toString( has_toString )"
+ </Original>
+ <Expanded>
+ "toString( has_toString )"
+==
+"toString( has_toString )"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString( vectors<has_maker )">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
+ <Original>
+ Catch::toString( v ) == "{ StringMaker<has_maker> }"
+ </Original>
+ <Expanded>
+ "{ StringMaker<has_maker> }"
+==
+"{ StringMaker<has_maker> }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString( vectors<has_maker_and_toString )">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
+ <Original>
+ Catch::toString( v ) == "{ StringMaker<has_maker_and_toString> }"
+ </Original>
+ <Expanded>
+ "{ StringMaker<has_maker_and_toString> }"
+==
+"{ StringMaker<has_maker_and_toString> }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString( vectors<has_toString )">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringWhich.cpp" >
+ <Original>
+ Catch::toString( v ) == "{ {?} }"
+ </Original>
+ <Expanded>
+ "{ {?} }" == "{ {?} }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString(enum class w/operator<<)">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e0) == "E2/V0"
+ </Original>
+ <Expanded>
+ "E2/V0" == "E2/V0"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e1) == "E2/V1"
+ </Original>
+ <Expanded>
+ "E2/V1" == "E2/V1"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e3) == "Unknown enum value 10"
+ </Original>
+ <Expanded>
+ "Unknown enum value 10"
+==
+"Unknown enum value 10"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString(enum class)">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e0) == "0"
+ </Original>
+ <Expanded>
+ "0" == "0"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e1) == "1"
+ </Original>
+ <Expanded>
+ "1" == "1"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString(enum w/operator<<)">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e0) == "E2{0}"
+ </Original>
+ <Expanded>
+ "E2{0}" == "E2{0}"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e1) == "E2{1}"
+ </Original>
+ <Expanded>
+ "E2{1}" == "E2{1}"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="toString(enum)">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e0) == "0"
+ </Original>
+ <Expanded>
+ "0" == "0"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
+ <Original>
+ Catch::toString(e1) == "1"
+ </Original>
+ <Expanded>
+ "1" == "1"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="tuple<>">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "{ }" == Catch::toString(type{})
+ </Original>
+ <Expanded>
+ "{ }" == "{ }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "{ }" == Catch::toString(value)
+ </Original>
+ <Expanded>
+ "{ }" == "{ }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="tuple<float,int>">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "1.2f" == Catch::toString(float(1.2))
+ </Original>
+ <Expanded>
+ "1.2f" == "1.2f"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "{ 1.2f, 0 }" == Catch::toString(type{1.2,0})
+ </Original>
+ <Expanded>
+ "{ 1.2f, 0 }" == "{ 1.2f, 0 }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="tuple<int>">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "{ 0 }" == Catch::toString(type{0})
+ </Original>
+ <Expanded>
+ "{ 0 }" == "{ 0 }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="tuple<nullptr,int,const char *>">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "{ nullptr, 42, \"Catch me\" }" == Catch::toString(value)
+ </Original>
+ <Expanded>
+ "{ nullptr, 42, "Catch me" }"
+==
+"{ nullptr, 42, "Catch me" }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="tuple<string,string>">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "{ \"hello\", \"world\" }" == Catch::toString(type{"hello","world"})
+ </Original>
+ <Expanded>
+ "{ "hello", "world" }"
+==
+"{ "hello", "world" }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="tuple<tuple<int>,tuple<>,float>">
+ <Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
+ <Original>
+ "{ { 42 }, { }, 1.2f }" == Catch::toString(value)
+ </Original>
+ <Expanded>
+ "{ { 42 }, { }, 1.2f }"
+==
+"{ { 42 }, { }, 1.2f }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="vec<vec<string,alloc>> -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(v) == "{ }"
+ </Original>
+ <Expanded>
+ "{ }" == "{ }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(v) == "{ { \"hello\" }, { \"world\" } }"
+ </Original>
+ <Expanded>
+ "{ { "hello" }, { "world" } }"
+==
+"{ { "hello" }, { "world" } }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="vector<int,allocator> -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ }"
+ </Original>
+ <Expanded>
+ "{ }" == "{ }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ 42 }"
+ </Original>
+ <Expanded>
+ "{ 42 }" == "{ 42 }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ 42, 250 }"
+ </Original>
+ <Expanded>
+ "{ 42, 250 }" == "{ 42, 250 }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="vector<int> -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ }"
+ </Original>
+ <Expanded>
+ "{ }" == "{ }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ 42 }"
+ </Original>
+ <Expanded>
+ "{ 42 }" == "{ 42 }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ 42, 250 }"
+ </Original>
+ <Expanded>
+ "{ 42, 250 }" == "{ 42, 250 }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="vector<string> -> toString">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ }"
+ </Original>
+ <Expanded>
+ "{ }" == "{ }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ \"hello\" }"
+ </Original>
+ <Expanded>
+ "{ "hello" }" == "{ "hello" }"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
+ <Original>
+ Catch::toString(vv) == "{ \"hello\", \"world\" }"
+ </Original>
+ <Expanded>
+ "{ "hello", "world" }"
+==
+"{ "hello", "world" }"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="vectors can be sized and resized">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 5
+ </Original>
+ <Expanded>
+ 5 == 5
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 5
+ </Original>
+ <Expanded>
+ 5 >= 5
+ </Expanded>
+ </Expression>
+ <Section name="resizing bigger changes size and capacity">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 10
+ </Original>
+ <Expanded>
+ 10 == 10
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 10
+ </Original>
+ <Expanded>
+ 10 >= 10
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 5
+ </Original>
+ <Expanded>
+ 5 == 5
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 5
+ </Original>
+ <Expanded>
+ 5 >= 5
+ </Expanded>
+ </Expression>
+ <Section name="resizing smaller changes size but not capacity">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 5
+ </Original>
+ <Expanded>
+ 5 >= 5
+ </Expanded>
+ </Expression>
+ <Section name="We can use the 'swap trick' to reset the capacity">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() == 0
+ </Original>
+ <Expanded>
+ 0 == 0
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="3" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 5
+ </Original>
+ <Expanded>
+ 5 == 5
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 5
+ </Original>
+ <Expanded>
+ 5 >= 5
+ </Expanded>
+ </Expression>
+ <Section name="reserving bigger changes capacity but not size">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 5
+ </Original>
+ <Expanded>
+ 5 == 5
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 10
+ </Original>
+ <Expanded>
+ 10 >= 10
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 5
+ </Original>
+ <Expanded>
+ 5 == 5
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 5
+ </Original>
+ <Expanded>
+ 5 >= 5
+ </Expanded>
+ </Expression>
+ <Section name="reserving smaller does not change size or capacity">
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.size() == 5
+ </Original>
+ <Expanded>
+ 5 == 5
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
+ <Original>
+ v.capacity() >= 5
+ </Original>
+ <Expanded>
+ 5 >= 5
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="xmlentitycheck">
+ <Section name="embedded xml" description="<test>it should be possible to embed xml characters, such as <, " or &, or even whole <xml>documents</xml> within an attribute</test>">
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="encoded chars" description="these should all be encoded: &&&"""<<<&"<<&"">
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="825" failures="81" expectedFailures="18"/>