catch2/projects/SelfTest/Baselines/xml.sw.approved.txt
Martin Hořeňovský 33ed1773f4 Reworked stringification layer, removed Catch::toString
Now the order of stringification checks is

1) StringMaker specialization
2) operator<<

toString overloads and specializations have been removed.
2017-05-02 23:51:03 +02:00

10146 lines
389 KiB
Plaintext

<?xml version="1.0" encoding="UTF-8"?>
<Catch name="<exe-name>">
<Group name="<exe-name>">
<TestCase name="# A test name that starts with a #" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="#748 - captures with unexpected exceptions" tags="[!shouldfail][!throws]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Section name="outside assertions" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Info>
answer := 42
</Info>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
expected exception
</Exception>
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<Section name="inside REQUIRE_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Info>
answer := 42
</Info>
<Expression success="false" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows()
</Original>
<Expanded>
thisThrows()
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
expected exception
</Exception>
</Expression>
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<Section name="inside REQUIRE_THROWS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Info>
answer := 42
</Info>
<Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows()
</Original>
<Expanded>
thisThrows()
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#809" filename="projects/<exe-name>/CompilationTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
42 == f
</Original>
<Expanded>
42 == {?}
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#833" filename="projects/<exe-name>/CompilationTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
a == t
</Original>
<Expanded>
3 == 3
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
a == t
</Original>
<Expanded>
3 == 3
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
throws_int(true)
</Original>
<Expanded>
throws_int(true)
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THROWS_AS" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
throws_int(true), const int&amp;
</Original>
<Expanded>
throws_int(true), const int&amp;
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
throws_int(false)
</Original>
<Expanded>
throws_int(false)
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
"aaa", Catch::EndsWith("aaa")
</Original>
<Expanded>
"aaa" ends with: "aaa"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
templated_tests&lt;int>(3)
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#835 -- errno should not be touched by Catch" tags="[!shouldfail]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
f() == 0
</Original>
<Expanded>
1 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
(*__errno_location ()) == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#872" filename="projects/<exe-name>/CompilationTests.cpp" >
<Info>
dummy := 0
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
<Original>
x == 4
</Original>
<Expanded>
{?} == 4
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="'Not' checks that should fail" tags="[.][failing][hide]" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
false != false
</Original>
<Expanded>
false != false
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
true != true
</Original>
<Expanded>
true != true
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!true
</Original>
<Expanded>
false
</Expanded>
</Expression>
<Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!true
</Original>
<Expanded>
!true
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!trueValue
</Original>
<Expanded>
false
</Expanded>
</Expression>
<Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!trueValue
</Original>
<Expanded>
!true
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!(1 == 1)
</Original>
<Expanded>
false
</Expanded>
</Expression>
<Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!1 == 1
</Original>
<Expanded>
!(1 == 1)
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="'Not' checks that should succeed" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
false == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
true == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!false
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!false
</Original>
<Expanded>
!false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!falseValue
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!falseValue
</Original>
<Expanded>
!false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!(1 == 2)
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
!1 == 2
</Original>
<Expanded>
!(1 == 2)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="(unimplemented) static bools can be evaluated" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Section name="compare to true" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
is_true&lt;true>::value == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
true == is_true&lt;true>::value
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="compare to false" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
is_true&lt;false>::value == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
false == is_true&lt;false>::value
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="negation" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!is_true&lt;false>::value
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="double negation" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!!is_true&lt;true>::value
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="direct" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
is_true&lt;true>::value
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!is_true&lt;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" tags="[.][class][failing][hide]" filename="projects/<exe-name>/ClassTests.cpp" >
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
<Original>
s == "world"
</Original>
<Expanded>
"hello" == "world"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="A METHOD_AS_TEST_CASE based test run that succeeds" tags="[class]" filename="projects/<exe-name>/ClassTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
<Original>
s == "hello"
</Original>
<Expanded>
"hello" == "hello"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="A TEST_CASE_METHOD based test run that fails" tags="[.][class][failing][hide]" filename="projects/<exe-name>/ClassTests.cpp" >
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
<Original>
m_a == 2
</Original>
<Expanded>
1 == 2
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="A TEST_CASE_METHOD based test run that succeeds" tags="[class]" filename="projects/<exe-name>/ClassTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
<Original>
m_a == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="A couple of nested sections followed by a failure" tags="[.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="Outer" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="Inner" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Failure filename="projects/<exe-name>/MiscTests.cpp" >
to infinity and beyond
</Failure>
<OverallResult success="false"/>
</TestCase>
<TestCase name="A failing expression with a non streamable type is still captured" tags="[.][Tricky][failing][hide]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
&amp;o1 == &amp;o2
</Original>
<Expanded>
0x<hex digits> == 0x<hex digits>
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
o1 == o2
</Original>
<Expanded>
{?} == {?}
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Absolute margin" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
104.0 != Approx(100.0)
</Original>
<Expanded>
104.0 != Approx( 100.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
104.0 == Approx(100.0).margin(5)
</Original>
<Expanded>
104.0 == Approx( 100.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
104.0 != Approx(100.0).margin(3)
</Original>
<Expanded>
104.0 != Approx( 100.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
100.3 != Approx(100.0)
</Original>
<Expanded>
100.3 != Approx( 100.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
100.3 == Approx(100.0).margin(0.5)
</Original>
<Expanded>
100.3 == Approx( 100.0 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="AllOf matcher" tags="[matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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="An empty test with no assertions" tags="[empty]" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="An expression with side-effects should only be evaluated once" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
i++ == 7
</Original>
<Expanded>
7 == 7
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
1 == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="false" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
{Unknown expression after the reported line}
</Original>
<Expanded>
{Unknown expression after the reported line}
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
unexpected exception
</Exception>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Anonymous test case 1" filename="projects/<exe-name>/VariadicMacrosTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="AnyOf matcher" tags="[matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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/<exe-name>/MatchersTests.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" tags="[Approx][PI]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/ApproxTests.cpp" >
<Original>
divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 )
</Original>
<Expanded>
3.1428571429 != Approx( 3.141 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Approximate comparisons with different epsilons" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d != Approx( 1.231 )
</Original>
<Expanded>
1.23 != Approx( 1.231 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d == Approx( 1.231 ).epsilon( 0.1 )
</Original>
<Expanded>
1.23 == Approx( 1.231 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Approximate comparisons with floats" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
1.23f == Approx( 1.23f )
</Original>
<Expanded>
1.23f == Approx( 1.2300000191 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
0.0f == Approx( 0.0f )
</Original>
<Expanded>
0.0f == Approx( 0.0 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Approximate comparisons with ints" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
1 == Approx( 1 )
</Original>
<Expanded>
1 == Approx( 1.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
0 == Approx( 0 )
</Original>
<Expanded>
0 == Approx( 0.0 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Approximate comparisons with mixed numeric types" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
1.0f == Approx( 1 )
</Original>
<Expanded>
1.0f == Approx( 1.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
0 == Approx( dZero)
</Original>
<Expanded>
0 == Approx( 0.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
0 == Approx( dSmall ).epsilon( 0.001 )
</Original>
<Expanded>
0 == Approx( 0.00001 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
1.234f == Approx( dMedium )
</Original>
<Expanded>
1.234f == Approx( 1.234 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
dMedium == Approx( 1.234f )
</Original>
<Expanded>
1.234 == Approx( 1.2339999676 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Assertions then sections" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
Catch::alwaysTrue()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="A section" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
Catch::alwaysTrue()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="Another section" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/TrickyTests.cpp" >
<Original>
Catch::alwaysTrue()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="A section" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
Catch::alwaysTrue()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="Another other section" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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="Capture and info messages" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Section name="Capture should stringify like assertions" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Info>
i := 2
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
true
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Info should NOT stringify the way assertions do" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Info>
3
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
true
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Character pretty printing" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Section name="Specifically escaped" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
tab == '\t'
</Original>
<Expanded>
'\t' == '\t'
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
newline == '\n'
</Original>
<Expanded>
'\n' == '\n'
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
carr_return == '\r'
</Original>
<Expanded>
'\r' == '\r'
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
form_feed == '\f'
</Original>
<Expanded>
'\f' == '\f'
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="General chars" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
space == ' '
</Original>
<Expanded>
' ' == ' '
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == chars[i]
</Original>
<Expanded>
'a' == 'a'
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == chars[i]
</Original>
<Expanded>
'z' == 'z'
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == chars[i]
</Original>
<Expanded>
'A' == 'A'
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == chars[i]
</Original>
<Expanded>
'Z' == 'Z'
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="Low ASCII" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
null_terminator == '\0'
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == i
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == i
</Original>
<Expanded>
3 == 3
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == i
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringGeneralTests.cpp" >
<Original>
c == i
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparing function pointers" tags="[Tricky][function pointer]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
a
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
a == &amp;foo
</Original>
<Expanded>
0x<hex digits> == 0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparing member function pointers" tags="[Tricky][member function pointer]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
m == &amp;S::f
</Original>
<Expanded>
0x<hex digits>
==
0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparisons between ints where one side is computed" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
54 == 6*9
</Original>
<Expanded>
54 == 54
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparisons between unsigned ints and negative signed ints match c++ standard behaviour" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
( -1 > 2u )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
-1 > 2u
</Original>
<Expanded>
-1 > 2
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
( 2u &lt; -1 )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
2u &lt; -1
</Original>
<Expanded>
2 &lt; -1
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
( minInt > 2u )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
minInt > 2u
</Original>
<Expanded>
-2147483648 > 2
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparisons with int literals don't warn when mixing signed/ unsigned" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
i == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
ui == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
l == 3
</Original>
<Expanded>
3 == 3
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
ul == 4
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
c == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
uc == 6
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
1 == i
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
2 == ui
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
3 == l
</Original>
<Expanded>
3 == 3
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
4 == ul
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
5 == c
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
6 == uc
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
(std::numeric_limits&lt;unsigned long>::max)() > ul
</Original>
<Expanded>
18446744073709551615 (0x<hex digits>)
>
4
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Contains string matcher" tags="[.][failing][hide][matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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="Custom exceptions can be translated when testing for nothrow" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="false" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
throwCustom()
</Original>
<Expanded>
throwCustom()
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom exception - not std
</Exception>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Custom exceptions can be translated when testing for throwing as something else" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="false" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
throwCustom(), std::exception
</Original>
<Expanded>
throwCustom(), std::exception
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom exception - not std
</Exception>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Custom std-exceptions can be custom translated" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom std exception
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Demonstrate that a non-const == is not used" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
t == 1u
</Original>
<Expanded>
{?} == 1
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="EndsWith string matcher" tags="[.][failing][hide][matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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" tags="[!mayfail][.][failing][hide]" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven == 6
</Original>
<Expanded>
7 == 6
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven == 8
</Original>
<Expanded>
7 == 8
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven == 0
</Original>
<Expanded>
7 == 0
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello == "goodbye"
</Original>
<Expanded>
"hello" == "goodbye"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello == "hell"
</Original>
<Expanded>
"hello" == "hell"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello == "hello1"
</Original>
<Expanded>
"hello" == "hello1"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello.size() == 6
</Original>
<Expanded>
5 == 6
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/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" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven == 7
</Original>
<Expanded>
7 == 7
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello == "hello"
</Original>
<Expanded>
"hello" == "hello"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
"hello" == data.str_hello
</Original>
<Expanded>
"hello" == "hello"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
x == Approx( 1.3 )
</Original>
<Expanded>
1.3 == Approx( 1.3 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Equals" tags="[matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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" tags="[.][failing][hide][matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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="Exception messages can be tested for" tags="[!throws]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Section name="exact match" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), "expected exception"
</Original>
<Expanded>
thisThrows(), "expected exception"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="different case" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No )
</Original>
<Expanded>
thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No )
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="wildcarded" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), StartsWith( "expected" )
</Original>
<Expanded>
thisThrows(), StartsWith( "expected" )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), EndsWith( "exception" )
</Original>
<Expanded>
thisThrows(), EndsWith( "exception" )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), Contains( "except" )
</Original>
<Expanded>
thisThrows(), Contains( "except" )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), Contains( "exCept", Catch::CaseSensitive::No )
</Original>
<Expanded>
thisThrows(), Contains( "exCept", Catch::CaseSensitive::No )
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="false" type="CHECK_THROWS_AS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), std::string
</Original>
<Expanded>
thisThrows(), std::string
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
expected exception
</Exception>
</Expression>
<Expression success="false" type="CHECK_THROWS_AS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisDoesntThrow(), std::domain_error
</Original>
<Expanded>
thisDoesntThrow(), std::domain_error
</Expanded>
</Expression>
<Expression success="false" type="CHECK_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows()
</Original>
<Expanded>
thisThrows()
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
expected exception
</Exception>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="FAIL aborts the test" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Failure filename="projects/<exe-name>/MessageTests.cpp" >
This is a failure
</Failure>
<OverallResult success="false"/>
</TestCase>
<TestCase name="FAIL does not require an argument" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Failure filename="projects/<exe-name>/MessageTests.cpp" />
<OverallResult success="false"/>
</TestCase>
<TestCase name="FAIL_CHECK does not abort the test" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Failure filename="projects/<exe-name>/MessageTests.cpp" >
This is a failure
</Failure>
<Warning>
This message appears in the output
</Warning>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Factorials are computed" tags="[factorial]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(0) == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(1) == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(2) == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(3) == 6
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[generators]" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
i->first == i->second-1
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
i->first == i->second-1
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Generators over two ranges" tags="[generators]" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Greater-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d >= Approx( 1.22 )
</Original>
<Expanded>
1.23 >= Approx( 1.22 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d >= Approx( 1.23 )
</Original>
<Expanded>
1.23 >= Approx( 1.23 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
!d >= Approx( 1.24 )
</Original>
<Expanded>
!(1.23 >= Approx( 1.24 ))
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d >= Approx( 1.24 ).epsilon(0.1)
</Original>
<Expanded>
1.23 >= Approx( 1.24 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="INFO and WARN do not abort tests" tags="[.][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Info>
this is a message
</Info>
<Warning>
this is a warning
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="INFO gets logged on failure" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Info>
this message should be logged
</Info>
<Info>
so should this
</Info>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 1
</Original>
<Expanded>
2 == 1
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="INFO gets logged on failure, even if captured before successful assertions" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Info>
this message may be logged later
</Info>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Info>
this message should be logged
</Info>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 1
</Original>
<Expanded>
2 == 1
</Expanded>
</Expression>
<Info>
and this, but later
</Info>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 0
</Original>
<Expanded>
2 == 0
</Expanded>
</Expression>
<Info>
but not this
</Info>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Inequality checks that should fail" tags="[!shouldfail][.][failing][hide]" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven != 7
</Original>
<Expanded>
7 != 7
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello != "hello"
</Original>
<Expanded>
"hello" != "hello"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello.size() != 5
</Original>
<Expanded>
5 != 5
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Inequality checks that should succeed" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven != 6
</Original>
<Expanded>
7 != 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven != 8
</Original>
<Expanded>
7 != 8
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello != "goodbye"
</Original>
<Expanded>
"hello" != "goodbye"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello != "hell"
</Original>
<Expanded>
"hello" != "hell"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello != "hello1"
</Original>
<Expanded>
"hello" != "hello1"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello.size() != 6
</Original>
<Expanded>
5 != 6
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Less-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d &lt;= Approx( 1.24 )
</Original>
<Expanded>
1.23 &lt;= Approx( 1.24 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d &lt;= Approx( 1.23 )
</Original>
<Expanded>
1.23 &lt;= Approx( 1.23 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
!d &lt;= Approx( 1.22 )
</Original>
<Expanded>
!(1.23 &lt;= Approx( 1.22 ))
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d &lt;= Approx( 1.22 ).epsilon(0.1)
</Original>
<Expanded>
1.23 &lt;= Approx( 1.22 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Long strings can be wrapped" tags="[wrap]" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="plain string" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="No wrapping" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString
</Original>
<Expanded>
"one two three four"
==
"one two three four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 18 ) ).toString() == testString
</Original>
<Expanded>
"one two three four"
==
"one two three four"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Wrapped once" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 17 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 16 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 14 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 13 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 12 ) ).toString() == "one two\nthree four"
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Wrapped twice" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 8 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 7 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Wrapped three times" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour"
</Original>
<Expanded>
"one
two
three
four"
==
"one
two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 5 ) ).toString() == "one\ntwo\nthree\nfour"
</Original>
<Expanded>
"one
two
three
four"
==
"one
two
three
four"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Short wrap" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndef"
</Original>
<Expanded>
"abc-
def"
==
"abc-
def"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdefg", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndefg"
</Original>
<Expanded>
"abc-
defg"
==
"abc-
defg"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdefgh", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndef-\ngh"
</Original>
<Expanded>
"abc-
def-
gh"
==
"abc-
def-
gh"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 4 ) ).toString() == "one\ntwo\nthr-\nee\nfour"
</Original>
<Expanded>
"one
two
thr-
ee
four"
==
"one
two
thr-
ee
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 3 ) ).toString() == "one\ntwo\nth-\nree\nfo-\nur"
</Original>
<Expanded>
"one
two
th-
ree
fo-
ur"
==
"one
two
th-
ree
fo-
ur"
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="As container" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text.size() == 4
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[0] == "one"
</Original>
<Expanded>
"one" == "one"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[1] == "two"
</Original>
<Expanded>
"two" == "two"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[2] == "three"
</Original>
<Expanded>
"three" == "three"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[3] == "four"
</Original>
<Expanded>
"four" == "four"
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Indent first line differently" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text.toString() == " one two\n three\n four"
</Original>
<Expanded>
" one two
three
four"
==
" one two
three
four"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="No wrapping" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 18 ) ).toString() == testString
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 10 ) ).toString() == testString
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Trailing newline" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef\n", TextAttributes().setWidth( 10 ) ).toString() == "abcdef"
</Original>
<Expanded>
"abcdef" == "abcdef"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef", TextAttributes().setWidth( 6 ) ).toString() == "abcdef"
</Original>
<Expanded>
"abcdef" == "abcdef"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef\n", TextAttributes().setWidth( 6 ) ).toString() == "abcdef"
</Original>
<Expanded>
"abcdef" == "abcdef"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef\n", TextAttributes().setWidth( 5 ) ).toString() == "abcd-\nef"
</Original>
<Expanded>
"abcd-
ef"
==
"abcd-
ef"
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Wrapped once" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 8 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 7 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Wrapped twice" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour"
</Original>
<Expanded>
"one
two
three
four"
==
"one
two
three
four"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="With wrap-before/ after characters" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="No wrapping" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString
</Original>
<Expanded>
"one,two(three) &lt;here>"
==
"one,two(three) &lt;here>"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 24 ) ).toString() == testString
</Original>
<Expanded>
"one,two(three) &lt;here>"
==
"one,two(three) &lt;here>"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="With wrap-before/ after characters" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Wrap before" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 11 ) ).toString() == "one,two\n(three)\n&lt;here>"
</Original>
<Expanded>
"one,two
(three)
&lt;here>"
==
"one,two
(three)
&lt;here>"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="With wrap-before/ after characters" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Wrap after" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one,\ntwo\n(thre-\ne)\n&lt;here>"
</Original>
<Expanded>
"one,
two
(thre-
e)
&lt;here>"
==
"one,
two
(thre-
e)
&lt;here>"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 5 ) ).toString() == "one,\ntwo\n(thr-\nee)\n&lt;her-\ne>"
</Original>
<Expanded>
"one,
two
(thr-
ee)
&lt;her-
e>"
==
"one,
two
(thr-
ee)
&lt;her-
e>"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 4 ) ).toString() == "one,\ntwo\n(th-\nree)\n&lt;he-\nre>"
</Original>
<Expanded>
"one,
two
(th-
ree)
&lt;he-
re>"
==
"one,
two
(th-
ree)
&lt;he-
re>"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Long text is truncated" tags="[Text][Truncated]" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
t.toString(), EndsWith( "... message truncated due to excessive size" )
</Original>
<Expanded>
"******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
... message truncated due to excessive size" ends with: "... message truncated due to excessive size"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="ManuallyRegistered" filename="projects/<exe-name>/TestMain.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="Matchers can be (AllOf) composed with the &amp;&amp; operator" tags="[matchers][operator&amp;&amp;][operators]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), Contains( "string" ) &amp;&amp; Contains( "abc" ) &amp;&amp; Contains( "substring" ) &amp;&amp; Contains( "contains" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" and contains: "substring" and contains: "contains" )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Matchers can be (AnyOf) composed with the || operator" tags="[matchers][operators][operator||]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), Contains( "string" ) || Contains( "different" ) || Contains( "random" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ( contains: "string" or contains: "different" or contains: "random" )
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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 &amp;&amp; and ||" tags="[matchers][operator&amp;&amp;][operators][operator||]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) &amp;&amp; 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 &amp;&amp; and || - failing" tags="[.][.failing][hide][matchers][operator&amp;&amp;][operators][operator||]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) &amp;&amp; Contains( "random" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "random" )
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Matchers can be negated (Not) with the ! operator" tags="[matchers][not][operators]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), !Contains( "different" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" not contains: "different"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Matchers can be negated (Not) with the ! operator - failing" tags="[.][.failing][hide][matchers][not][operators]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), !Contains( "substring" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" not contains: "substring"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Mismatching exception messages failing the test" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), "expected exception"
</Original>
<Expanded>
thisThrows(), "expected exception"
</Expanded>
</Expression>
<Expression success="false" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), "should fail"
</Original>
<Expanded>
expected exception
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Nice descriptive name" tags="[.][hide][tag1][tag2][tag3]" filename="projects/<exe-name>/MiscTests.cpp" >
<Warning>
This one ran
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Non-std exceptions can be translated" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom exception
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="NotImplemented exception" tags="[!throws]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisFunctionNotImplemented( 7 )
</Original>
<Expanded>
thisFunctionNotImplemented( 7 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Objects that evaluated in boolean contexts can be checked" tags="[SafeBool][Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
True
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!False
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!False
</Original>
<Expanded>
!false
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Operators at different namespace levels not hijacked by Koenig lookup" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
0x<hex digits> == o
</Original>
<Expanded>
3221225472 (0x<hex digits>) == {?}
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Ordering comparison checks that should fail" tags="[.][failing][hide]" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven > 7
</Original>
<Expanded>
7 > 7
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt; 7
</Original>
<Expanded>
7 &lt; 7
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven > 8
</Original>
<Expanded>
7 > 8
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt; 6
</Original>
<Expanded>
7 &lt; 6
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt; 0
</Original>
<Expanded>
7 &lt; 0
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt; -1
</Original>
<Expanded>
7 &lt; -1
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven >= 8
</Original>
<Expanded>
7 >= 8
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt;= 6
</Original>
<Expanded>
7 &lt;= 6
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.float_nine_point_one &lt; 9
</Original>
<Expanded>
9.1f &lt; 9
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.float_nine_point_one > 10
</Original>
<Expanded>
9.1f > 10
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/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/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello > "hello"
</Original>
<Expanded>
"hello" > "hello"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello &lt; "hello"
</Original>
<Expanded>
"hello" &lt; "hello"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello > "hellp"
</Original>
<Expanded>
"hello" > "hellp"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello > "z"
</Original>
<Expanded>
"hello" > "z"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello &lt; "hellm"
</Original>
<Expanded>
"hello" &lt; "hellm"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello &lt; "a"
</Original>
<Expanded>
"hello" &lt; "a"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello >= "z"
</Original>
<Expanded>
"hello" >= "z"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello &lt;= "a"
</Original>
<Expanded>
"hello" &lt;= "a"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Ordering comparison checks that should succeed" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt; 8
</Original>
<Expanded>
7 &lt; 8
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven > 6
</Original>
<Expanded>
7 > 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven > 0
</Original>
<Expanded>
7 > 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven > -1
</Original>
<Expanded>
7 > -1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven >= 7
</Original>
<Expanded>
7 >= 7
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven >= 6
</Original>
<Expanded>
7 >= 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt;= 7
</Original>
<Expanded>
7 &lt;= 7
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.int_seven &lt;= 8
</Original>
<Expanded>
7 &lt;= 8
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.float_nine_point_one > 9
</Original>
<Expanded>
9.1f > 9
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.float_nine_point_one &lt; 10
</Original>
<Expanded>
9.1f &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.float_nine_point_one &lt; 9.2
</Original>
<Expanded>
9.1f &lt; 9.2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello &lt;= "hello"
</Original>
<Expanded>
"hello" &lt;= "hello"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello >= "hello"
</Original>
<Expanded>
"hello" >= "hello"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello &lt; "hellp"
</Original>
<Expanded>
"hello" &lt; "hellp"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello &lt; "zebra"
</Original>
<Expanded>
"hello" &lt; "zebra"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
data.str_hello > "hellm"
</Original>
<Expanded>
"hello" > "hellm"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Section name="one" filename="projects/<exe-name>/MessageTests.cpp" >
<Failure filename="projects/<exe-name>/MessageTests.cpp" >
Message from section one
</Failure>
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<Section name="two" filename="projects/<exe-name>/MessageTests.cpp" >
<Failure filename="projects/<exe-name>/MessageTests.cpp" >
Message from section two
</Failure>
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Parse test names and tags" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Section name="Empty test spec should have no filters" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Test spec from empty string should have no filters" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches(tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Test spec from just a comma should have no filters" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Test spec from name should have one filter" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Test spec from quoted name should have one filter" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Test spec from name should have one filter" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="Wildcard at the start" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
parseTestSpec( "*a" ).matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="6" failures="0" expectedFailures="0"/>
</Section>
<Section name="Wildcard at the end" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
parseTestSpec( "a*" ).matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="6" failures="0" expectedFailures="0"/>
</Section>
<Section name="Wildcard at both ends" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
parseTestSpec( "*a*" ).matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="6" failures="0" expectedFailures="0"/>
</Section>
<Section name="Redundant wildcard at the start" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Redundant wildcard at the end" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Redundant wildcard at both ends" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="Wildcard at both ends, redundant at start" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="Just wildcard" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="Single tag" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="Single tag, two matches" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="Two tags" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="Two tags, spare separated" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="Wildcarded name and tag" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="Single tag exclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="One tag exclusion and one tag inclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="One tag exclusion and one wldcarded name inclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="One tag exclusion, using exclude:, and one wldcarded name inclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="name exclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="wildcarded name exclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="wildcarded name exclusion with tag inclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="wildcarded name exclusion, using exclude:, with tag inclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="two wildcarded names" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="empty tag" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="empty quoted name" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="quoted string followed by tag exclusion" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.hasFilters() == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcA ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcB ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcC ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/CmdLineTests.cpp" >
<Original>
spec.matches( tcD ) == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Parsing a std::pair" tags="[Tricky][std::pair]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
(std::pair&lt;int, int>( 1, 2 )) == aNicePair
</Original>
<Expanded>
{ 1, 2 } == { 1, 2 }
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Pointers can be compared to null" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
p == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
p == pNULL
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
p != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
cp != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
cpc != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
returnsNull() == 0
</Original>
<Expanded>
{null string} == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
returnsConstNull() == 0
</Original>
<Expanded>
{null string} == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
0 != p
</Original>
<Expanded>
0 != 0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Pointers can be converted to strings" tags="[.][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Warning>
actual address of p: 0x<hex digits>
</Warning>
<Warning>
toString(p): 0x<hex digits>
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Process can be configured on command line" tags="[command-line][config]" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="empty args don't cause a crash" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parser.parseInto( std::vector&lt;std::string>(), config )
</Original>
<Expanded>
parser.parseInto( std::vector&lt;std::string>(), config )
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.processName == ""
</Original>
<Expanded>
"" == ""
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="default - no arguments" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.processName == "test"
</Original>
<Expanded>
"test" == "test"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.shouldDebugBreak == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.abortAfter == -1
</Original>
<Expanded>
-1 == -1
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.noThrow == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames.empty()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="6" failures="0" expectedFailures="0"/>
</Section>
<Section name="test lists" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="1 test" description="Specify one test case using" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "notIncluded" ) ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Specify one test case exclusion using exclude:" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Specify one test case exclusion using ~" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-r/console" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-r/xml" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-r xml and junit" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames.size() == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames[0] == "xml"
</Original>
<Expanded>
"xml" == "xml"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="--reporter/junit" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-b" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="--break" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-a aborts after first failure" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-x 2 aborts after two failures" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-x must be greater than zero" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/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 &lt;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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-x must be numeric" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfigAndReturnError( argv, config ), Contains( "-x" )
</Original>
<Expanded>
"Unable to convert oops to destination type
- while parsing: (-x, --abortx &lt;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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-e" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="--nothrow" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-o filename" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="--out" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="Single character flags can be combined" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.abortAfter == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.shouldDebugBreak
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="without option" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="auto" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="yes" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="no" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="error" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/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" tags="[.][failing][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Info>
current counter 0
</Info>
<Info>
i := 0
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
0 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 1
</Info>
<Info>
i := 1
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
1 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 2
</Info>
<Info>
i := 2
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
2 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 3
</Info>
<Info>
i := 3
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
3 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 4
</Info>
<Info>
i := 4
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
4 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 5
</Info>
<Info>
i := 5
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
5 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 6
</Info>
<Info>
i := 6
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
6 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 7
</Info>
<Info>
i := 7
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
7 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 8
</Info>
<Info>
i := 8
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
8 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 9
</Info>
<Info>
i := 9
</Info>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
9 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 10
</Info>
<Info>
i := 10
</Info>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
10 &lt; 10
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="SUCCEED counts as a test pass" tags="[messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="SUCCESS does not require an argument" tags="[.][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or methods" tags="[bdd][fixtures]" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Given: No operations precede me" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
before == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Section name="When: We get the count" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Then: Subsequently values are higher" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[Tags]" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Given: This stuff exists" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="When: I do this" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Then: it should do this" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
itDoesThis()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="And: do that" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
itDoesThat()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Scenario: This is a really long scenario name to see how the list command deals with wrapping" tags="[anotherReallyLongTagNameButThisOneHasNoObviousWrapPointsSoShouldSplitWithinAWordUsingADashCharacter][long][lots][one very long tag name that should cause line wrapping writing out using the list command][tags][verbose][very long tags]" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Given: A section name that is so long that it cannot fit in a single console width" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="When: The test headers are printed as part of the normal running of the scenario" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent" filename="projects/<exe-name>/BDDTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Scenario: Vector resizing affects size and capacity" tags="[bdd][capacity][size][vector]" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Given: an empty vector" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.size() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Section name="When: it is made larger" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Then: the size and capacity go up" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.size() == 10
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.capacity() >= 10
</Original>
<Expanded>
10 >= 10
</Expanded>
</Expression>
<Section name="And when: it is made smaller again" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Then: the size goes down but the capacity stays the same" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.capacity() >= 10
</Original>
<Expanded>
10 >= 10
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="Given: an empty vector" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.size() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Section name="When: we reserve more space" filename="projects/<exe-name>/BDDTests.cpp" >
<Section name="Then: The capacity is increased but the size remains the same" filename="projects/<exe-name>/BDDTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.capacity() >= 10
</Original>
<Expanded>
10 >= 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.size() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Sends stuff to stdout and stderr" tags="[.][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="true">
<StdOut>
A string sent directly to stdout
</StdOut>
<StdErr>
A string sent directly to stderr
</StdErr>
</OverallResult>
</TestCase>
<TestCase name="Some simple comparisons between doubles" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d == Approx( 1.23 )
</Original>
<Expanded>
1.23 == Approx( 1.23 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d != Approx( 1.22 )
</Original>
<Expanded>
1.23 != Approx( 1.22 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d != Approx( 1.24 )
</Original>
<Expanded>
1.23 != Approx( 1.24 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx( d ) == 1.23
</Original>
<Expanded>
Approx( 1.23 ) == 1.23
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx( d ) != 1.22
</Original>
<Expanded>
Approx( 1.23 ) != 1.22
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[.][hide][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Section name="one" filename="projects/<exe-name>/MessageTests.cpp" >
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<Section name="two" filename="projects/<exe-name>/MessageTests.cpp" >
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<OverallResult success="false">
<StdOut>
Message from section one
Message from section two
</StdOut>
</OverallResult>
</TestCase>
<TestCase name="StartsWith string matcher" tags="[.][failing][hide][matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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" tags="[matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/MatchersTests.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/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), Contains( "abc" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" contains: "abc"
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
testStringForMatching(), StartsWith( "this" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" starts with: "this"
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.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" tags="[.][.colour][hide]" filename="projects/<exe-name>/TestMain.cpp" >
<OverallResult success="true">
<StdOut>
hello
hello
</StdOut>
</OverallResult>
</TestCase>
<TestCase name="Tabs and newlines show in output" tags="[.][failing][hide][whitespace]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TagAliasTests.cpp" >
<Section name="The same tag alias can only be registered once" filename="projects/<exe-name>/TagAliasTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/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]" filename="projects/<exe-name>/TagAliasTests.cpp" >
<Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/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/<exe-name>/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="Test case with one argument" filename="projects/<exe-name>/VariadicMacrosTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="Test enum bit values" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "hi there" ).toString() == "hi there"
</Original>
<Expanded>
"hi there" == "hi there"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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" tags="[messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Expression success="false" type="CHECK_NOFAIL" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
1 == 2
</Original>
<Expanded>
1 == 2
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="This test 'should' fail but doesn't" tags="[!shouldfail][.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="false"/>
</TestCase>
<TestCase name="Tracker" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="successfully close one section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isSuccessfullyCompleted()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="fail one section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="re-enter after failed section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="fail one section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="re-enter after failed section and find next section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="successfully close one section, then find another" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Re-enter - skips S1 and enters S2" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Successfully close S2" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isSuccessfullyCompleted()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="successfully close one section, then find another" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Re-enter - skips S1 and enters S2" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="fail S2" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
ctx.completedCycle()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase3.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1c.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2c.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="open a nested section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="start a generator" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.index() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="close outer section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Re-enter for second generation" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.index() == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="start a generator" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.index() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Start a new inner section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Re-enter for second generation" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.index() == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="start a generator" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.index() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Fail an inner section" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2.isSuccessfullyCompleted() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Section name="Re-enter for second generation" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.index() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2b.isOpen() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1b.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1b.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase2.isComplete() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
testCase3.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1c.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1c.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1c.index() == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2c.isOpen()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s2c.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
g1c.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/PartTrackerTests.cpp" >
<Original>
s1c.isComplete()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
3.14
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Use a custom approx" tags="[Approx][custom]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d == approx( 1.23 )
</Original>
<Expanded>
1.23 == Approx( 1.23 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d == approx( 1.22 )
</Original>
<Expanded>
1.23 == Approx( 1.22 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d == approx( 1.24 )
</Original>
<Expanded>
1.23 == Approx( 1.24 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d != approx( 1.25 )
</Original>
<Expanded>
1.23 != Approx( 1.25 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
approx( d ) == 1.23
</Original>
<Expanded>
Approx( 1.23 ) == 1.23
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
approx( d ) == 1.22
</Original>
<Expanded>
Approx( 1.23 ) == 1.22
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
approx( d ) == 1.24
</Original>
<Expanded>
Approx( 1.23 ) == 1.24
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
approx( d ) != 1.25
</Original>
<Expanded>
Approx( 1.23 ) != 1.25
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Variadic macros" tags="[sections][variadic]" filename="projects/<exe-name>/VariadicMacrosTests.cpp" >
<Section name="Section with one argument" filename="projects/<exe-name>/VariadicMacrosTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Vector matchers" tags="[matchers][vector]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Section name="Contains (element)" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, VectorContains( 1 )
</Original>
<Expanded>
{ 1, 2, 3 } Contains: 1
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, VectorContains( 2 )
</Original>
<Expanded>
{ 1, 2, 3 } Contains: 2
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="Contains (vector)" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Contains( v2 )
</Original>
<Expanded>
{ 1, 2, 3 } Contains: { 1, 2 }
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Contains( v2 )
</Original>
<Expanded>
{ 1, 2, 3 } Contains: { 1, 2, 3 }
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Contains( empty)
</Original>
<Expanded>
{ 1, 2, 3 } Contains: { }
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
empty, Contains( empty)
</Original>
<Expanded>
{ } Contains: { }
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="Equals" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Equals( v )
</Original>
<Expanded>
{ 1, 2, 3 } Equals: { 1, 2, 3 }
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
empty, Equals( empty )
</Original>
<Expanded>
{ } Equals: { }
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Equals( v2 )
</Original>
<Expanded>
{ 1, 2, 3 } Equals: { 1, 2, 3 }
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Vector matchers that fail" tags="[.][failing][hide][matchers][vector]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Section name="Contains (element)" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, VectorContains( -1 )
</Original>
<Expanded>
{ 1, 2, 3 } Contains: -1
</Expanded>
</Expression>
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
empty, VectorContains( 1 )
</Original>
<Expanded>
{ } Contains: 1
</Expanded>
</Expression>
<OverallResults successes="0" failures="2" expectedFailures="0"/>
</Section>
<Section name="Contains (vector)" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
empty, Contains( v)
</Original>
<Expanded>
{ } Contains: { 1, 2, 3 }
</Expanded>
</Expression>
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Contains( v2 )
</Original>
<Expanded>
{ 1, 2, 3 } Contains: { 1, 2, 4 }
</Expanded>
</Expression>
<OverallResults successes="0" failures="2" expectedFailures="0"/>
</Section>
<Section name="Equals" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Equals( v2 )
</Original>
<Expanded>
{ 1, 2, 3 } Equals: { 1, 2 }
</Expanded>
</Expression>
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v2, Equals( v )
</Original>
<Expanded>
{ 1, 2 } Equals: { 1, 2, 3 }
</Expanded>
</Expression>
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
empty, Equals( v )
</Original>
<Expanded>
{ } Equals: { 1, 2, 3 }
</Expanded>
</Expression>
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
v, Equals( empty )
</Original>
<Expanded>
{ 1, 2, 3 } Equals: { }
</Expanded>
</Expression>
<OverallResults successes="0" failures="4" expectedFailures="0"/>
</Section>
<OverallResult success="false"/>
</TestCase>
<TestCase name="When checked exceptions are thrown they can be expected or unexpected" tags="[!throws]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), std::domain_error
</Original>
<Expanded>
thisThrows(), std::domain_error
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisDoesntThrow()
</Original>
<Expanded>
thisDoesntThrow()
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/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" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
unexpected exception
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="When unchecked exceptions are thrown during a CHECK the test should continue" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows() == 0
</Original>
<Expanded>
thisThrows() == 0
</Expanded>
<Exception filename="projects/<exe-name>/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" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows() == 0
</Original>
<Expanded>
thisThrows() == 0
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
expected exception
</Exception>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="When unchecked exceptions are thrown from functions they are always failures" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows() == 0
</Original>
<Expanded>
thisThrows() == 0
</Expanded>
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
expected exception
</Exception>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="When unchecked exceptions are thrown from sections they are always failures" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Section name="section name" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Exception filename="projects/<exe-name>/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" tags="[!throws]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="Where the LHS is not a simple value" tags="[.][Tricky][failing][hide]" filename="projects/<exe-name>/TrickyTests.cpp" >
<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" tags="[.][Tricky][failing][hide]" filename="projects/<exe-name>/TrickyTests.cpp" >
<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" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="X/level/0/b" tags="[Tricky][fizz]" filename="projects/<exe-name>/TrickyTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="X/level/1/a" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="X/level/1/b" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="XmlEncode" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="normal string" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
encode( "" ) == ""
</Original>
<Expanded>
"" == ""
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="string with ampersand" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
encode( "smith &amp; jones" ) == "smith &amp;amp; jones"
</Original>
<Expanded>
"smith &amp;amp; jones" == "smith &amp;amp; jones"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="string with less-than" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
encode( "smith &lt; jones" ) == "smith &amp;lt; jones"
</Original>
<Expanded>
"smith &amp;lt; jones" == "smith &amp;lt; jones"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="string with greater-than" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
encode( "smith > jones" ) == "smith > jones"
</Original>
<Expanded>
"smith > jones" == "smith > jones"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
encode( "smith ]]&gt; jones" ) == "smith ]]&amp;gt; jones"
</Original>
<Expanded>
"smith ]]&amp;gt; jones"
==
"smith ]]&amp;gt; jones"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="string with quotes" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/MiscTests.cpp" >
<Original>
encode( stringWithQuotes, Catch::XmlEncode::ForAttributes ) == "don't &amp;quot;quote&amp;quot; me on that"
</Original>
<Expanded>
"don't &amp;quot;quote&amp;quot; me on that"
==
"don't &amp;quot;quote&amp;quot; me on that"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="string with control char (1)" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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)" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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="assertions with commas are allowed" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2}
</Original>
<Expanded>
{ 1, 2 } == { 1, 2 }
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="atomic if" tags="[0][failing]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
x == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="boolean member" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
obj.prop != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="checkedElse" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="CHECKED_ELSE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
flag
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testCheckedElse( true )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="checkedElse, failing" tags="[.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="false" type="CHECKED_ELSE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
flag
</Original>
<Expanded>
false
</Expanded>
</Expression>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testCheckedElse( false )
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="checkedIf" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="CHECKED_IF" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
flag
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testCheckedIf( true )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="checkedIf, failing" tags="[.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="false" type="CHECKED_IF" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
flag
</Original>
<Expanded>
false
</Expanded>
</Expression>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testCheckedIf( false )
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="comparisons between const int variables" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
unsigned_char_var == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
unsigned_short_var == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
unsigned_int_var == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
unsigned_long_var == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="comparisons between int variables" filename="projects/<exe-name>/ConditionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
long_var == unsigned_char_var
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
long_var == unsigned_short_var
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
long_var == unsigned_int_var
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[sections]" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="c" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="d (leaf)" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="c" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="e (leaf)" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="f (leaf)" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="first tag" tags="[tag1]" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="has printf" filename="projects/<exe-name>/TrickyTests.cpp" >
spanner <OverallResult success="true"/>
</TestCase>
<TestCase name="just failure" tags="[.][fail][hide][isolated info][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<Failure filename="projects/<exe-name>/MessageTests.cpp" >
Previous info should not be seen
</Failure>
<OverallResult success="false"/>
</TestCase>
<TestCase name="just info" tags="[info][isolated info][messages]" filename="projects/<exe-name>/MessageTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="looped SECTION tests" tags="[.][failing][hide][sections]" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="s1" description="b is currently: 0" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/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" tags="[.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
<Info>
Testing if fib[0] (1) is even
</Info>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/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/<exe-name>/MiscTests.cpp" >
<Original>
( fib[i] % 2 ) == 0
</Original>
<Expanded>
1 == 0
</Expanded>
</Expression>
<Info>
Testing if fib[2] (2) is even
</Info>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/MiscTests.cpp" >
<Original>
( fib[i] % 2 ) == 0
</Original>
<Expanded>
1 == 0
</Expanded>
</Expression>
<Info>
Testing if fib[5] (8) is even
</Info>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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/<exe-name>/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/<exe-name>/MiscTests.cpp" >
<Original>
( fib[i] % 2 ) == 0
</Original>
<Expanded>
1 == 0
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="more nested SECTION tests" tags="[.][failing][hide][sections]" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="s1" description="doesn't equal" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="s2" description="equal" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="s3" description="not equal" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="s4" description="less than" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
a &lt; b
</Original>
<Expanded>
1 &lt; 2
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="false"/>
</TestCase>
<TestCase name="nested SECTION tests" tags="[.][failing][hide][sections]" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="s1" description="doesn't equal" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
a != b
</Original>
<Expanded>
1 != 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
b != a
</Original>
<Expanded>
2 != 1
</Expanded>
</Expression>
<Section name="s2" description="not equal" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
s == "7"
</Original>
<Expanded>
"7" == "7"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="not allowed" tags="[!throws]" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="null strings" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
makeString( false ) != static_cast&lt;char*>(0)
</Original>
<Expanded>
"valid string" != {null string}
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
makeString( true ) == static_cast&lt;char*>(0)
</Original>
<Expanded>
{null string} == {null string}
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="pair&lt;pair&lt;int,const char *,pair&lt;std::string,int> > -> toString" tags="[pair][toString]" filename="projects/<exe-name>/ToStringPair.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
::Catch::Detail::stringify( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }"
</Original>
<Expanded>
"{ { 42, "Arthur" }, { "Ford", 24 } }"
==
"{ { 42, "Arthur" }, { "Ford", 24 } }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="pointer to class" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
p == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="random SECTION tests" tags="[.][failing][hide][sections]" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="s1" description="doesn't equal" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
a != b
</Original>
<Expanded>
1 != 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="replace single char" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "b", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "azcdefcg"
</Original>
<Expanded>
"azcdefcg" == "azcdefcg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace two chars" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "c", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "abzdefzg"
</Original>
<Expanded>
"abzdefzg" == "abzdefzg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace first char" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "a", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "zbcdefcg"
</Original>
<Expanded>
"zbcdefcg" == "zbcdefcg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace last char" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "g", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "abcdefcz"
</Original>
<Expanded>
"abcdefcz" == "abcdefcz"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace all chars" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, letters, "replaced" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "replaced"
</Original>
<Expanded>
"replaced" == "replaced"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace no chars" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
!replaceInPlace( letters, "x", "z" )
</Original>
<Expanded>
!false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == letters
</Original>
<Expanded>
"abcdefcg" == "abcdefcg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="escape '" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( s, "'", "|'" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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" tags="[tag2]" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="true"/>
</TestCase>
<TestCase name="send a single char to INFO" tags="[.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
<Info>
3
</Info>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="sends information to INFO" tags="[.][failing][hide]" filename="projects/<exe-name>/MessageTests.cpp" >
<Info>
hi
</Info>
<Info>
i := 7
</Info>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
false
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="std::pair&lt;int,const std::string> -> toString" tags="[pair][toString]" filename="projects/<exe-name>/ToStringPair.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
::Catch::Detail::stringify(value) == "{ 34, \"xyzzy\" }"
</Original>
<Expanded>
"{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="std::pair&lt;int,std::string> -> toString" tags="[pair][toString]" filename="projects/<exe-name>/ToStringPair.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
::Catch::Detail::stringify( value ) == "{ 34, \"xyzzy\" }"
</Original>
<Expanded>
"{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="std::vector&lt;std::pair&lt;std::string,int> > -> toString" tags="[pair][toString]" filename="projects/<exe-name>/ToStringPair.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
::Catch::Detail::stringify( pr ) == "{ { \"green\", 55 } }"
</Original>
<Expanded>
"{ { "green", 55 } }"
==
"{ { "green", 55 } }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="string literals of different sizes can be compared" tags="[.][Tricky][failing][hide]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
std::string( "first" ) == "second"
</Original>
<Expanded>
"first" == "second"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="stringify( has_maker )" tags="[toString]" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
::Catch::Detail::stringify( item ) == "StringMaker&lt;has_maker>"
</Original>
<Expanded>
"StringMaker&lt;has_maker>"
==
"StringMaker&lt;has_maker>"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="stringify( has_maker_and_toString )" tags="[.][hide][toString]" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
::Catch::Detail::stringify( item ) == "StringMaker&lt;has_maker_and_operator>"
</Original>
<Expanded>
"StringMaker&lt;has_maker_and_operator>"
==
"StringMaker&lt;has_maker_and_operator>"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="stringify( has_operator )" tags="[toString]" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
::Catch::Detail::stringify( item ) == "operator&lt;&lt;( has_operator )"
</Original>
<Expanded>
"operator&lt;&lt;( has_operator )"
==
"operator&lt;&lt;( has_operator )"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString on const wchar_t const pointer returns the string contents" tags="[toString]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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" tags="[toString]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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" tags="[toString]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/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" tags="[toString]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
result == "\"wide load\""
</Original>
<Expanded>
""wide load"" == ""wide load""
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString( vectors&lt;has_maker )" tags="[toString]" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
::Catch::Detail::stringify( v ) == "{ StringMaker&lt;has_maker> }"
</Original>
<Expanded>
"{ StringMaker&lt;has_maker> }"
==
"{ StringMaker&lt;has_maker> }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum w/operator&lt;&lt;)" tags="[enum][toString]" filename="projects/<exe-name>/EnumToString.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e0) == "E2{0}"
</Original>
<Expanded>
"E2{0}" == "E2{0}"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e1) == "E2{1}"
</Original>
<Expanded>
"E2{1}" == "E2{1}"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum)" tags="[enum][toString]" filename="projects/<exe-name>/EnumToString.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e0) == "0"
</Original>
<Expanded>
"0" == "0"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e1) == "1"
</Original>
<Expanded>
"1" == "1"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vector&lt;int> -> toString" tags="[toString][vector]" filename="projects/<exe-name>/ToStringVector.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(vv) == "{ }"
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(vv) == "{ 42 }"
</Original>
<Expanded>
"{ 42 }" == "{ 42 }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(vv) == "{ 42, 250 }"
</Original>
<Expanded>
"{ 42, 250 }" == "{ 42, 250 }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vector&lt;string> -> toString" tags="[toString][vector]" filename="projects/<exe-name>/ToStringVector.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(vv) == "{ }"
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(vv) == "{ \"hello\" }"
</Original>
<Expanded>
"{ "hello" }" == "{ "hello" }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(vv) == "{ \"hello\", \"world\" }"
</Original>
<Expanded>
"{ "hello", "world" }"
==
"{ "hello", "world" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vectors can be sized and resized" tags="[vector]" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.capacity() >= 5
</Original>
<Expanded>
5 >= 5
</Expanded>
</Expression>
<Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 10
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.capacity() >= 5
</Original>
<Expanded>
5 >= 5
</Expanded>
</Expression>
<Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.capacity() >= 5
</Original>
<Expanded>
5 >= 5
</Expanded>
</Expression>
<Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.capacity() >= 5
</Original>
<Expanded>
5 >= 5
</Expanded>
</Expression>
<Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.capacity() >= 5
</Original>
<Expanded>
5 >= 5
</Expanded>
</Expression>
<Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
v.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/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" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="embedded xml" description="&lt;test>it should be possible to embed xml characters, such as &lt;, &quot; or &amp;, or even whole &lt;xml>documents&lt;/xml> within an attribute&lt;/test>" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="encoded chars" description="these should all be encoded: &amp;&amp;&amp;&quot;&quot;&quot;&lt;&lt;&lt;&amp;&quot;&lt;&lt;&amp;&quot;" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="861" failures="90" expectedFailures="21"/>
</Group>
<OverallResults successes="861" failures="89" expectedFailures="21"/>
</Catch>