catch2/projects/SelfTest/Baselines/xml.sw.approved.txt
Martin Hořeňovský b000411434 Stop accepting non-const comparison operators
A) non-const comparison operators should not exist and should not be
encouraged

B) The logic breaks comparing function pointers certain way

C) It was inconsistent anyway, as it only applied to `==` and `!=`

Closes #925
2017-09-06 15:01:03 +02:00

8230 lines
305 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="#1005: Comparing pointer to int and long (NULL can be either on various systems)" tags="[Decomposition]" filename="projects/<exe-name>/DecompositionTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/DecompositionTests.cpp" >
<Original>
fptr == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/DecompositionTests.cpp" >
<Original>
fptr == 0l
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#748 - captures with unexpected exceptions" tags="[!shouldfail][!throws][.][failing]" 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="0" expectedFailures="1"/>
</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="0" expectedFailures="1"/>
</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), int
</Original>
<Expanded>
throws_int(true), int
</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][.][failing]" 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 == 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="#925: comparing function pointer to function address failed to compile" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
utility::synchronizing_callback != test.testMethod_uponComplete_arg
</Original>
<Expanded>
1 != 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="#961 -- Dynamically created sections should all be reported" tags="[.]" filename="projects/<exe-name>/MiscTests.cpp" >
<Section name="Looped section 0" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Looped section 1" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Looped section 2" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Looped section 3" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Looped section 4" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="'Not' checks that should fail" tags="[.][failing]" filename="projects/<exe-name>/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]" 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]" 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]" 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]" 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="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]" 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="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="Commas in various macros are allowed" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
</Original>
<Expanded>
std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
</Original>
<Expanded>
std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
</Original>
<Expanded>
std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
</Expanded>
</Expression>
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
</Original>
<Expanded>
std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
</Expanded>
</Expression>
<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>
<Expression success="true" type="CHECK" 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>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2, 3}
</Original>
<Expanded>
!({ 1, 2 } == { 1, 2, 3 })
</Expanded>
</Expression>
<Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2, 3}
</Original>
<Expanded>
!({ 1, 2 } == { 1, 2, 3 })
</Expanded>
</Expression>
<Expression success="true" type="CHECK_NOFAIL" 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>
<Expression success="true" type="CHECKED_IF" 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>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
true
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECKED_ELSE" 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="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>
0x<hex digits>
</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="Comparison with explicitly convertible types" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
td == Approx(10.0)
</Original>
<Expanded>
StrongDoubleTypedef(10) == Approx( 10.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx(10.0) == td
</Original>
<Expanded>
Approx( 10.0 ) == StrongDoubleTypedef(10)
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
td != Approx(11.0)
</Original>
<Expanded>
StrongDoubleTypedef(10) != Approx( 11.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx(11.0) != td
</Original>
<Expanded>
Approx( 11.0 ) != StrongDoubleTypedef(10)
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
td &lt;= Approx(10.0)
</Original>
<Expanded>
StrongDoubleTypedef(10) &lt;= Approx( 10.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
td &lt;= Approx(11.0)
</Original>
<Expanded>
StrongDoubleTypedef(10) &lt;= Approx( 11.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx(10.0) &lt;= td
</Original>
<Expanded>
Approx( 10.0 ) &lt;= StrongDoubleTypedef(10)
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx(9.0) &lt;= td
</Original>
<Expanded>
Approx( 9.0 ) &lt;= StrongDoubleTypedef(10)
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
td >= Approx(9.0)
</Original>
<Expanded>
StrongDoubleTypedef(10) >= Approx( 9.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
td >= Approx(10.0)
</Original>
<Expanded>
StrongDoubleTypedef(10) >= Approx( 10.0 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx(10.0) >= td
</Original>
<Expanded>
Approx( 10.0 ) >= StrongDoubleTypedef(10)
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
Approx(11.0) >= td
</Original>
<Expanded>
Approx( 11.0 ) >= StrongDoubleTypedef(10)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparisons between ints where one side is computed" filename="projects/<exe-name>/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;uint32_t>::max)() > ul
</Original>
<Expanded>
4294967295 (0x<hex digits>) > 4
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Contains string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/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]" 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]" 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]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom std exception
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="EndsWith string matcher" tags="[.][failing][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]" 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][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 matchers that fail" tags="[!throws][.][.failing][exceptions][matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Section name="No exception" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
doesNotThrow(), SpecialException, ExceptionMatcher{ 1 }
</Original>
<Expanded>
doesNotThrow(), SpecialException, ExceptionMatcher{ 1 }
</Expanded>
</Expression>
<Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
doesNotThrow(), SpecialException, ExceptionMatcher{ 1 }
</Original>
<Expanded>
doesNotThrow(), SpecialException, ExceptionMatcher{ 1 }
</Expanded>
</Expression>
<OverallResults successes="0" failures="2" expectedFailures="0"/>
</Section>
<Section name="Type mismatch" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
throwsAsInt(1), SpecialException, ExceptionMatcher{ 1 }
</Original>
<Expanded>
throwsAsInt(1), SpecialException, ExceptionMatcher{ 1 }
</Expanded>
<Exception filename="projects/<exe-name>/MatchersTests.cpp" >
Unknown exception
</Exception>
</Expression>
<Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
throwsAsInt(1), SpecialException, ExceptionMatcher{ 1 }
</Original>
<Expanded>
throwsAsInt(1), SpecialException, ExceptionMatcher{ 1 }
</Expanded>
<Exception filename="projects/<exe-name>/MatchersTests.cpp" >
Unknown exception
</Exception>
</Expression>
<OverallResults successes="0" failures="2" expectedFailures="0"/>
</Section>
<Section name="Contents are wrong" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
throws(3), SpecialException, ExceptionMatcher{ 1 }
</Original>
<Expanded>
{?} special exception has value of 1
</Expanded>
</Expression>
<Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
throws(4), SpecialException, ExceptionMatcher{ 1 }
</Original>
<Expanded>
{?} special exception has value of 1
</Expanded>
</Expression>
<OverallResults successes="0" failures="2" expectedFailures="0"/>
</Section>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Exception matchers that succeed" tags="[!throws][exceptions][matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
<Expression success="true" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
throws(1), SpecialException, ExceptionMatcher{ 1 }
</Original>
<Expanded>
{?} special exception has value of 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/MatchersTests.cpp" >
<Original>
throws(2), SpecialException, ExceptionMatcher{ 2 }
</Original>
<Expanded>
{?} special exception has value of 2
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Exception messages can be tested for" tags="[!throws]" filename="projects/<exe-name>/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>
"expected exception" equals: "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>
"expected exception" equals: "expected exception" (case insensitive)
</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>
"expected exception" starts with: "expected"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), EndsWith( "exception" )
</Original>
<Expanded>
"expected exception" ends with: "exception"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), Contains( "except" )
</Original>
<Expanded>
"expected exception" 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>
"expected exception" contains: "except" (case insensitive)
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test" tags="[!throws][.][failing]" filename="projects/<exe-name>/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][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][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][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="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="[.][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][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][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 may be logged later
</Info>
<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>
this message may be logged later
</Info>
<Info>
this message should be logged
</Info>
<Info>
and this, but later
</Info>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 0
</Original>
<Expanded>
2 == 0
</Expanded>
</Expression>
<Info>
this message may be logged later
</Info>
<Info>
this message should be logged
</Info>
<Info>
and this, but later
</Info>
<Info>
but not this
</Info>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="INFO is reset for each loop" tags="[.][failing][messages]" filename="projects/<exe-name>/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="Inequality checks that should fail" tags="[!shouldfail][.][failing]" 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="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][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][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]" 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>
"expected exception" equals: "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" equals: "should fail"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Nice descriptive name" tags="[.][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]" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom exception
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Objects that evaluated in boolean contexts can be checked" tags="[SafeBool][Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
True
</Original>
<Expanded>
{?}
</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>
!{?}
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Ordering comparison checks that should fail" tags="[.][failing]" 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][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="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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
result
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
result
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
result
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
result
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
result
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-r", "console"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-r", "xml"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-r", "xml", "-r", "junit"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "--reporter", "junit"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-b"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "--break"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-a"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-x", "2"})
</Original>
<Expanded>
{?}
</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 numeric" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
!result
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
result.errorMessage(), Contains("convert") &amp;&amp; Contains("oops")
</Original>
<Expanded>
"Unable to convert 'oops' to destination type" ( contains: "convert" and contains: "oops" )
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="nothrow" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-e" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-e"})
</Original>
<Expanded>
{?}
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.noThrow
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="nothrow" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="--nothrow" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "--nothrow"})
</Original>
<Expanded>
{?}
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.noThrow
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="output filename" filename="projects/<exe-name>/TestMain.cpp" >
<Section name="-o filename" filename="projects/<exe-name>/TestMain.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-o", "filename.ext"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "--out", "filename.ext"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "-abe"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "--use-colour", "auto"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "--use-colour", "yes"})
</Original>
<Expanded>
{?}
</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" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cli.parse({"test", "--use-colour", "no"})
</Original>
<Expanded>
{?}
</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="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
!result
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
result.errorMessage(), Contains( "colour mode must be one of" )
</Original>
<Expanded>
"colour mode must be one of: auto, yes or no. 'wrong' not recognised" contains: "colour mode must be one of"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Reconstruction should be based on stringification: #914" tags="[.][Decomposition][failing]" filename="projects/<exe-name>/DecompositionTests.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/DecompositionTests.cpp" >
<Original>
truthy(false)
</Original>
<Expanded>
Hey, its truthy!
</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="[.][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="[.]" 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="[.][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][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="StringRef" tags="[Strings]" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="Empty string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
empty.empty()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
empty.size() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
std::strcmp( empty.c_str(), "" ) == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="From string literal" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
s.empty() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
s.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isSubstring( s ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
std::strcmp( rawChars, "hello" ) == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Section name="c_str() does not cause copy" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isOwned( s ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
s.c_str() == rawChars
</Original>
<Expanded>
"hello" == "hello"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isOwned( s ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="7" failures="0" expectedFailures="0"/>
</Section>
<Section name="From sub-string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
original == "original"
</Original>
<Expanded>
original == "original"
</Expanded>
</Expression>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isSubstring( original )
</Original>
<Expanded>
false
</Expanded>
</Expression>
<OverallResults successes="1" failures="1" expectedFailures="0"/>
</Section>
<Section name="Substrings" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="zero-based substring" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
ss.empty() == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
ss.size() == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
std::strcmp( ss.c_str(), "hello" ) == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
ss == "hello"
</Original>
<Expanded>
hello == "hello"
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="Substrings" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="c_str() causes copy" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isSubstring( ss )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isOwned( ss ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
rawChars == data( s )
</Original>
<Expanded>
"hello world!" == "hello world!"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
ss.c_str() != rawChars
</Original>
<Expanded>
"hello" != "hello world!"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isSubstring( ss ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
isOwned( ss )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
data( ss ) != data( s )
</Original>
<Expanded>
"hello" != "hello world!"
</Expanded>
</Expression>
<OverallResults successes="7" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="7" failures="0" expectedFailures="0"/>
</Section>
<Section name="Substrings" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="non-zero-based substring" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
ss.size() == 6
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
std::strcmp( ss.c_str(), "world!" ) == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="Substrings" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="Pointer values of full refs should match" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
s.c_str() == s2.c_str()
</Original>
<Expanded>
"hello world!" == "hello world!"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Substrings" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="Pointer values of substring refs should not match" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
s.c_str() != ss.c_str()
</Original>
<Expanded>
"hello world!" != "hello"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Comparisons" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
StringRef("hello") == StringRef("hello")
</Original>
<Expanded>
hello == hello
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
StringRef("hello") != StringRef("cello")
</Original>
<Expanded>
hello != cello
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="from std::string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="implicitly constructed" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
sr == "a standard string"
</Original>
<Expanded>
a standard string == "a standard string"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
sr.size() == stdStr.size()
</Original>
<Expanded>
17 == 17
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="from std::string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="explicitly constructed" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
sr == "a standard string"
</Original>
<Expanded>
a standard string == "a standard string"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
sr.size() == stdStr.size()
</Original>
<Expanded>
17 == 17
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="from std::string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="assigned" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
sr == "a standard string"
</Original>
<Expanded>
a standard string == "a standard string"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
sr.size() == stdStr.size()
</Original>
<Expanded>
17 == 17
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="to std::string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="implicitly constructed" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
stdStr == "a stringref"
</Original>
<Expanded>
"a stringref" == "a stringref"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
stdStr.size() == sr.size()
</Original>
<Expanded>
11 == 11
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="to std::string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="explicitly constructed" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
stdStr == "a stringref"
</Original>
<Expanded>
"a stringref" == "a stringref"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
stdStr.size() == sr.size()
</Original>
<Expanded>
11 == 11
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="to std::string" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Section name="assigned" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
stdStr == "a stringref"
</Original>
<Expanded>
"a stringref" == "a stringref"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/StringRef.tests.cpp" >
<Original>
stdStr.size() == sr.size()
</Original>
<Expanded>
11 == 11
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Tabs and newlines show in output" tags="[.][failing][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="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]" 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]" 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][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]" 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]" 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]" 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]" 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]" 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]" 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]" 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" >
<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]" 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]" 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" >
loose text artifact
<OverallResult success="true"/>
</TestCase>
<TestCase name="just failure" tags="[.][fail][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="long long" filename="projects/<exe-name>/MiscTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
l == std::numeric_limits&lt;long long>::max()
</Original>
<Expanded>
9223372036854775807 (0x<hex digits>)
==
9223372036854775807 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="looped SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/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]" 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][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][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="non-copyable objects" tags="[.][failing]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
ti == typeid(int)
</Original>
<Expanded>
{?} == {?}
</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="null_ptr" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
ptr.get() == 0
</Original>
<Expanded>
0 == 0
</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][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>
Catch::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>
Catch::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>
Catch::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>
Catch::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>
Catch::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>
!Catch::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>
Catch::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]" 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]" 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]" 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="[.][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 class w/operator&lt;&lt;)" tags="[enum][enumClass][toString]" filename="projects/<exe-name>/EnumToString.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e0) == "E2/V0"
</Original>
<Expanded>
"E2/V0" == "E2/V0"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e1) == "E2/V1"
</Original>
<Expanded>
"E2/V1" == "E2/V1"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e3) == "Unknown enum value 10"
</Original>
<Expanded>
"Unknown enum value 10"
==
"Unknown enum value 10"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum class)" tags="[.][enum][enumClass][toString]" filename="projects/<exe-name>/EnumToString.cpp" >
<Expression success="false" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e0) == "0"
</Original>
<Expanded>
"{?}" == "0"
</Expanded>
</Expression>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
::Catch::Detail::stringify(e1) == "1"
</Original>
<Expanded>
"{?}" == "1"
</Expanded>
</Expression>
<OverallResult success="false"/>
</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="tuple&lt;>" tags="[toString][tuple]" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"{ }" == ::Catch::Detail::stringify(type{})
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"{ }" == ::Catch::Detail::stringify(value)
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;float,int>" tags="[toString][tuple]" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"1.2f" == ::Catch::Detail::stringify(float(1.2))
</Original>
<Expanded>
"1.2f" == "1.2f"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0})
</Original>
<Expanded>
"{ 1.2f, 0 }" == "{ 1.2f, 0 }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;int>" tags="[toString][tuple]" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"{ 0 }" == ::Catch::Detail::stringify(type{0})
</Original>
<Expanded>
"{ 0 }" == "{ 0 }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;0,int,const char *>" tags="[toString][tuple]" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value)
</Original>
<Expanded>
"{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;string,string>" tags="[toString][tuple]" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"})
</Original>
<Expanded>
"{ "hello", "world" }"
==
"{ "hello", "world" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>" tags="[toString][tuple]" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Expression success="true" type="CHECK" filename="projects/<exe-name>/ToStringTuple.cpp" >
<Original>
"{ { 42 }, { }, 1.2f }" == ::Catch::Detail::stringify(value)
</Original>
<Expanded>
"{ { 42 }, { }, 1.2f }"
==
"{ { 42 }, { }, 1.2f }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vec&lt;vec&lt;string,alloc>> -> toString" tags="[toString][vector,allocator]" filename="projects/<exe-name>/ToStringVector.cpp" >
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(v) == "{ }"
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
::Catch::Detail::stringify(v) == "{ { \"hello\" }, { \"world\" } }"
</Original>
<Expanded>
"{ { "hello" }, { "world" } }"
==
"{ { "hello" }, { "world" } }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vector&lt;int,allocator> -> toString" tags="[toString][vector,allocator]" 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;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="758" failures="100" expectedFailures="21"/>
</Group>
<OverallResults successes="758" failures="99" expectedFailures="21"/>
</Catch>