blob: 0af586029139b73ac257eccc80615bca16feddf7 [file] [log] [blame]
<?xml version="1.1" encoding="UTF-8"?>
<Catch name="<exe-name>">
<Group name="<exe-name>">
<TestCase name="# A test name that starts with a #">
<OverallResult success="true"/>
</TestCase>
<TestCase name="'Not' checks that should fail">
<Expression success="false" type="CHECK" filename="projects/<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">
<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">
<Section name="compare to true">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<Section name="Outer">
<Section name="Inner">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Failure>
to infinity and beyond
</Failure>
<OverallResult success="false"/>
</TestCase>
<TestCase name="A failing expression with a non streamable type is still captured">
<Expression success="false" type="CHECK" filename="projects/<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="AllOf matcher">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), AllOf( Catch::Contains( "string" ), Catch::Contains( "abc" ) )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="An empty test with no assertions">
<OverallResult success="true"/>
</TestCase>
<TestCase name="An expression with side-effects should only be evaluated once">
<Expression success="true" type="REQUIRE" filename="projects/<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">
<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">
<OverallResult success="true"/>
</TestCase>
<TestCase name="AnyOf matcher">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), AnyOf( Catch::Contains( "string" ), Catch::Contains( "not there" ) )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ( contains: "string" or contains: "not there" )
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), AnyOf( Catch::Contains( "not there" ), Catch::Contains( "string" ) )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ( contains: "not there" or contains: "string" )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Approximate PI">
<Expression success="true" type="REQUIRE" filename="projects/<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">
<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">
<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">
<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">
<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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
Catch::alwaysTrue()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="A section">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
Catch::alwaysTrue()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="Another section">
<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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
Catch::alwaysTrue()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="Another other section">
<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="Comparing function pointers">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
a
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
a == &amp;foo
</Original>
<Expanded>
0x<hex digits> == 0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparing member function pointers">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
m == &amp;S::f
</Original>
<Expanded>
0x<hex digits>
==
0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Comparisons between ints where one side is computed">
<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">
<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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
i == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
ui == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
l == 3
</Original>
<Expanded>
3 == 3
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
ul == 4
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
c == 5
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
uc == 6
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
1 == i
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
2 == ui
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
3 == l
</Original>
<Expanded>
3 == 3
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
4 == ul
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
5 == c
</Original>
<Expanded>
5 == 5
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
6 == uc
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
(std::numeric_limits&lt;unsigned long>::max)() > ul
</Original>
<Expanded>
18446744073709551615 (0x<hex digits>)
>
4
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Contains string matcher">
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), Contains( "not there" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" contains: "not there"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Custom exceptions can be translated when testing for nothrow">
<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">
<Expression success="false" type="REQUIRE_THROWS_AS" 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 std-exceptions can be custom translated">
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom std exception
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Demonstrate that a non-const == is not used">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
t == 1u
</Original>
<Expanded>
{?} == 1
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="EndsWith string matcher">
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), EndsWith( "this" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ends with: "this"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Equality checks that should fail">
<Expression success="false" type="CHECK" filename="projects/<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">
<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">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), Equals( "this string contains 'abc' as a substring" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" equals: "this string contains 'abc' as a substring"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Equals string matcher">
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), Equals( "something else" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" equals: "something else"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Equals string matcher, with NULL">
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
"", Equals(0)
</Original>
<Expanded>
"" equals: ""
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Exception messages can be tested for">
<Section name="exact match">
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), "expected exception"
</Original>
<Expanded>
thisThrows(), "expected exception"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="different case">
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No )
</Original>
<Expanded>
thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No )
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="wildcarded">
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), StartsWith( "expected" )
</Original>
<Expanded>
thisThrows(), StartsWith( "expected" )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), EndsWith( "exception" )
</Original>
<Expanded>
thisThrows(), EndsWith( "exception" )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), Contains( "except" )
</Original>
<Expanded>
thisThrows(), Contains( "except" )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), Contains( "exCept", Catch::CaseSensitive::No )
</Original>
<Expanded>
thisThrows(), Contains( "exCept", Catch::CaseSensitive::No )
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test">
<Expression success="false" type="CHECK_THROWS_AS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows()
</Original>
<Expanded>
thisThrows()
</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()
</Original>
<Expanded>
thisDoesntThrow()
</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">
<Failure>
This is a failure
</Failure>
<OverallResult success="false"/>
</TestCase>
<TestCase name="FAIL does not require an argument">
<Failure/>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Factorials are computed">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(0) == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(1) == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(2) == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(3) == 6
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
Factorial(10) == 3628800
</Original>
<Expanded>
3628800 (0x<hex digits>) == 3628800 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Generator over a range of pairs">
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
i->first == i->second-1
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
i->first == i->second-1
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Generators over two ranges">
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
200 == 200
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
202 == 202
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
204 == 204
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
206 == 206
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
208 == 208
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
210 == 210
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
212 == 212
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
6 == 6
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
8 == 8
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
10 == 10
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
30 == 30
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
40 == 40
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
42 == 42
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( i, 2 ) == i*2
</Original>
<Expanded>
72 == 72
</Expanded>
</Expression>
<Expression success="true" type="CATCH_REQUIRE" filename="projects/<exe-name>/GeneratorTests.cpp" >
<Original>
multiply( j, 2 ) == j*2
</Original>
<Expanded>
214 == 214
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Greater-than inequalities with different epsilons">
<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">
<Info>
this is a message
</Info>
<Warning>
this is a warning
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="INFO gets logged on failure">
<Info>
this message should be logged
</Info>
<Info>
so should this
</Info>
<Expression success="false" type="REQUIRE" filename="projects/<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">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Info>
this message should be logged
</Info>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 1
</Original>
<Expanded>
2 == 1
</Expanded>
</Expression>
<Info>
and this, but later
</Info>
<Expression success="false" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 0
</Original>
<Expanded>
2 == 0
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
a == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Inequality checks that should fail">
<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">
<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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d &lt;= Approx( 1.24 )
</Original>
<Expanded>
1.23 &lt;= Approx( 1.24 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d &lt;= Approx( 1.23 )
</Original>
<Expanded>
1.23 &lt;= Approx( 1.23 )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
!d &lt;= Approx( 1.22 )
</Original>
<Expanded>
!(1.23 &lt;= Approx( 1.22 ))
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
<Original>
d &lt;= Approx( 1.22 ).epsilon(0.1)
</Original>
<Expanded>
1.23 &lt;= Approx( 1.22 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Long strings can be wrapped">
<Section name="plain string">
<Section name="No wrapping">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString
</Original>
<Expanded>
"one two three four"
==
"one two three four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 18 ) ).toString() == testString
</Original>
<Expanded>
"one two three four"
==
"one two three four"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string">
<Section name="Wrapped once">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 17 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 16 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 14 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 13 ) ).toString() == "one two three\nfour"
</Original>
<Expanded>
"one two three
four"
==
"one two three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 12 ) ).toString() == "one two\nthree four"
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string">
<Section name="Wrapped twice">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 8 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 7 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string">
<Section name="Wrapped three times">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour"
</Original>
<Expanded>
"one
two
three
four"
==
"one
two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 5 ) ).toString() == "one\ntwo\nthree\nfour"
</Original>
<Expanded>
"one
two
three
four"
==
"one
two
three
four"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string">
<Section name="Short wrap">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndef"
</Original>
<Expanded>
"abc-
def"
==
"abc-
def"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdefg", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndefg"
</Original>
<Expanded>
"abc-
defg"
==
"abc-
defg"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdefgh", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndef-\ngh"
</Original>
<Expanded>
"abc-
def-
gh"
==
"abc-
def-
gh"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 4 ) ).toString() == "one\ntwo\nthr-\nee\nfour"
</Original>
<Expanded>
"one
two
thr-
ee
four"
==
"one
two
thr-
ee
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 3 ) ).toString() == "one\ntwo\nth-\nree\nfo-\nur"
</Original>
<Expanded>
"one
two
th-
ree
fo-
ur"
==
"one
two
th-
ree
fo-
ur"
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string">
<Section name="As container">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text.size() == 4
</Original>
<Expanded>
4 == 4
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[0] == "one"
</Original>
<Expanded>
"one" == "one"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[1] == "two"
</Original>
<Expanded>
"two" == "two"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[2] == "three"
</Original>
<Expanded>
"three" == "three"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text[3] == "four"
</Original>
<Expanded>
"four" == "four"
</Expanded>
</Expression>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="plain string">
<Section name="Indent first line differently">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
text.toString() == " one two\n three\n four"
</Original>
<Expanded>
" one two
three
four"
==
" one two
three
four"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines">
<Section name="No wrapping">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 18 ) ).toString() == testString
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 10 ) ).toString() == testString
</Original>
<Expanded>
"one two
three four"
==
"one two
three four"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines">
<Section name="Trailing newline">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef\n", TextAttributes().setWidth( 10 ) ).toString() == "abcdef"
</Original>
<Expanded>
"abcdef" == "abcdef"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef", TextAttributes().setWidth( 6 ) ).toString() == "abcdef"
</Original>
<Expanded>
"abcdef" == "abcdef"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef\n", TextAttributes().setWidth( 6 ) ).toString() == "abcdef"
</Original>
<Expanded>
"abcdef" == "abcdef"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "abcdef\n", TextAttributes().setWidth( 5 ) ).toString() == "abcd-\nef"
</Original>
<Expanded>
"abcd-
ef"
==
"abcd-
ef"
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines">
<Section name="Wrapped once">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 8 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 7 ) ).toString() == "one two\nthree\nfour"
</Original>
<Expanded>
"one two
three
four"
==
"one two
three
four"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="With newlines">
<Section name="Wrapped twice">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour"
</Original>
<Expanded>
"one
two
three
four"
==
"one
two
three
four"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="With wrap-before/ after characters">
<Section name="No wrapping">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString
</Original>
<Expanded>
"one,two(three) &lt;here>"
==
"one,two(three) &lt;here>"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 24 ) ).toString() == testString
</Original>
<Expanded>
"one,two(three) &lt;here>"
==
"one,two(three) &lt;here>"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="With wrap-before/ after characters">
<Section name="Wrap before">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 11 ) ).toString() == "one,two\n(three)\n&lt;here>"
</Original>
<Expanded>
"one,two
(three)
&lt;here>"
==
"one,two
(three)
&lt;here>"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="With wrap-before/ after characters">
<Section name="Wrap after">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one,\ntwo\n(thre-\ne)\n&lt;here>"
</Original>
<Expanded>
"one,
two
(thre-
e)
&lt;here>"
==
"one,
two
(thre-
e)
&lt;here>"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 5 ) ).toString() == "one,\ntwo\n(thr-\nee)\n&lt;her-\ne>"
</Original>
<Expanded>
"one,
two
(thr-
ee)
&lt;her-
e>"
==
"one,
two
(thr-
ee)
&lt;her-
e>"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( testString, TextAttributes().setWidth( 4 ) ).toString() == "one,\ntwo\n(th-\nree)\n&lt;he-\nre>"
</Original>
<Expanded>
"one,
two
(th-
ree)
&lt;he-
re>"
==
"one,
two
(th-
ree)
&lt;he-
re>"
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Long text is truncted">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
t.toString(), EndsWith( "... message truncated due to excessive size" )
</Original>
<Expanded>
"******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
******************************************************************************-
************************
******************************************************************************-
... message truncated due to excessive size" ends with: "... message truncated due to excessive size"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="ManuallyRegistered">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Matchers can be (AllOf) composed with the &amp;&amp; operator">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.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">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), Contains( "string" ) || Contains( "different" ) || Contains( "random" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ( contains: "string" or contains: "different" or contains: "random" )
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching2(), Contains( "string" ) || Contains( "different" ) || Contains( "random" )
</Original>
<Expanded>
"some completely different text that contains one common word" ( contains: "string" or contains: "different" or contains: "random" )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Matchers can be composed with both &amp;&amp; and ||">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.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">
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.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">
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), !Contains( "different" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" not contains: "different"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Matchers can be negated (Not) with the ! operator - failing">
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), !Contains( "substring" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" not contains: "substring"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Mismatching exception messages failing the test">
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), "expected exception"
</Original>
<Expanded>
thisThrows(), "expected exception"
</Expanded>
</Expression>
<Expression success="false" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows(), "should fail"
</Original>
<Expanded>
expected exception
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Nice descriptive name">
<Warning>
This one ran
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Non-std exceptions can be translated">
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
custom exception
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="NotImplemented exception">
<Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisFunctionNotImplemented( 7 )
</Original>
<Expanded>
thisFunctionNotImplemented( 7 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Objects that evaluated in boolean contexts can be checked">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
True
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!False
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
!False
</Original>
<Expanded>
!false
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Operators at different namespace levels not hijacked by Koenig lookup">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
0x<hex digits> == o
</Original>
<Expanded>
3221225472 (0x<hex digits>) == {?}
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Ordering comparison checks that should fail">
<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">
<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">
<Section name="one">
<Failure>
Message from section one
</Failure>
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<Section name="two">
<Failure>
Message from section two
</Failure>
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Parse test names and tags">
<Section name="Empty test spec should have no filters">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
(std::pair&lt;int, int>( 1, 2 )) == aNicePair
</Original>
<Expanded>
std::pair( 1, 2 ) == std::pair( 1, 2 )
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Pointers can be compared to null">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
p == 0
</Original>
<Expanded>
NULL == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
p == pNULL
</Original>
<Expanded>
NULL == NULL
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
p != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
cp != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
cpc != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
returnsNull() == 0
</Original>
<Expanded>
{null string} == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
returnsConstNull() == 0
</Original>
<Expanded>
{null string} == 0
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
<Original>
0 != p
</Original>
<Expanded>
0 != 0x<hex digits>
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Pointers can be converted to strings">
<Warning>
actual address of p: 0x<hex digits>
</Warning>
<Warning>
toString(p): 0x<hex digits>
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Process can be configured on command line">
<Section name="default - no arguments">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.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="5" failures="0" expectedFailures="0"/>
</Section>
<Section name="test lists">
<Section name="1 test" description="Specify one test case using">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "notIncluded" ) ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "test1" ) )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="test lists">
<Section name="Specify one test case exclusion using exclude:">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="test lists">
<Section name="Specify one test case exclusion using ~">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "test1" ) ) == false
</Original>
<Expanded>
false == false
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
cfg.testSpec().matches( fakeTestCase( "alwaysIncluded" ) )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="3" failures="0" expectedFailures="0"/>
</Section>
<Section name="reporter">
<Section name="-r/console">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames[0] == "console"
</Original>
<Expanded>
"console" == "console"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="reporter">
<Section name="-r/xml">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames[0] == "xml"
</Original>
<Expanded>
"xml" == "xml"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="reporter">
<Section name="-r xml and junit">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames.size() == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames[0] == "xml"
</Original>
<Expanded>
"xml" == "xml"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames[1] == "junit"
</Original>
<Expanded>
"junit" == "junit"
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="reporter">
<Section name="--reporter/junit">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.reporterNames[0] == "junit"
</Original>
<Expanded>
"junit" == "junit"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="debugger">
<Section name="-b">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.shouldDebugBreak == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="debugger">
<Section name="--break">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.shouldDebugBreak
</Original>
<Expanded>
true
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="abort">
<Section name="-a aborts after first failure">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.abortAfter == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="abort">
<Section name="-x 2 aborts after two failures">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.abortAfter == 2
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="abort">
<Section name="-x must be greater than zero">
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfigAndReturnError( argv, config ), Contains( "greater than zero" )
</Original>
<Expanded>
"Value after -x or --abortAfter must be greater than zero
- while parsing: (-x, --abortx &lt;no. failures>)" contains: "greater than zero"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="abort">
<Section name="-x must be numeric">
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfigAndReturnError( argv, config ), Contains( "-x" )
</Original>
<Expanded>
"Unable to convert oops to destination type
- while parsing: (-x, --abortx &lt;no. failures>)" contains: "-x"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="nothrow">
<Section name="-e">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.noThrow == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="nothrow">
<Section name="--nothrow">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.noThrow == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="output filename">
<Section name="-o filename">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.outputFilename == "filename.ext"
</Original>
<Expanded>
"filename.ext" == "filename.ext"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="output filename">
<Section name="--out">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.outputFilename == "filename.ext"
</Original>
<Expanded>
"filename.ext" == "filename.ext"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="combinations">
<Section name="Single character flags can be combined">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.abortAfter == 1
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.shouldDebugBreak
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.noThrow == true
</Original>
<Expanded>
true == true
</Expanded>
</Expression>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="4" failures="0" expectedFailures="0"/>
</Section>
<Section name="use-colour">
<Section name="without option">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.useColour == UseColour::Auto
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="use-colour">
<Section name="auto">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.useColour == UseColour::Auto
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="use-colour">
<Section name="yes">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.useColour == UseColour::Yes
</Original>
<Expanded>
1 == 1
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="use-colour">
<Section name="no">
<Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config )
</Original>
<Expanded>
parseIntoConfig( argv, config )
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
config.useColour == UseColour::No
</Original>
<Expanded>
2 == 2
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="use-colour">
<Section name="error">
<Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
parseIntoConfig( argv, config ), Contains( "colour mode must be one of" )
</Original>
<Expanded>
parseIntoConfig( argv, config ), Contains( "colour mode must be one of" )
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="SCOPED_INFO is reset for each loop">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
0 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
1 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
2 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
3 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
4 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
5 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
6 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
7 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
8 &lt; 10
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
9 &lt; 10
</Expanded>
</Expression>
<Info>
current counter 10
</Info>
<Info>
i := 10
</Info>
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/MessageTests.cpp" >
<Original>
i &lt; 10
</Original>
<Expanded>
10 &lt; 10
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="SUCCEED counts as a test pass">
<OverallResult success="true"/>
</TestCase>
<TestCase name="SUCCESS does not require an argument">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or methods">
<Section name="Given: No operations precede me">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
before == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Section name="When: We get the count">
<Section name="Then: Subsequently values are higher">
<Expression success="true" type="REQUIRE" filename="projects/<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">
<Section name="Given: This stuff exists">
<Section name="When: I do this">
<Section name="Then: it should do this">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
itDoesThis()
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Section name="And: do that">
<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">
<Section name="Given: A section name that is so long that it cannot fit in a single console width">
<Section name="When: The test headers are printed as part of the normal running of the scenario">
<Section name="Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Scenario: Vector resizing affects size and capacity">
<Section name="Given: an empty vector">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/BDDTests.cpp" >
<Original>
v.size() == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<Section name="When: it is made larger">
<Section name="Then: the size and capacity go up">
<Expression success="true" type="REQUIRE" filename="projects/<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">
<Section name="Then: the size goes down but the capacity stays the same">
<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">
<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">
<Section name="Then: The capacity is increased but the size remains the same">
<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">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Some simple comparisons between doubles">
<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">
<Section name="one">
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<Section name="two">
<OverallResults successes="0" failures="1" expectedFailures="0"/>
</Section>
<OverallResult success="false"/>
</TestCase>
<TestCase name="StartsWith string matcher">
<Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), StartsWith( "string" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" starts with: "string"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="String matchers">
<Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), Contains( "string" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" contains: "string"
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), Contains( "abc" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" contains: "abc"
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), StartsWith( "this" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" starts with: "this"
</Expanded>
</Expression>
<Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
testStringForMatching(), EndsWith( "substring" )
</Original>
<Expanded>
"this string contains 'abc' as a substring" ends with: "substring"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Strings can be rendered with colour">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Tabs and newlines show in output">
<Expression success="false" type="CHECK" filename="projects/<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">
<Section name="The same tag alias can only be registered once">
<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]">
<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">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Test enum bit values">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
0x<hex digits> == bit30and31
</Original>
<Expanded>
3221225472 (0x<hex digits>) == 3221225472
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Text can be formatted using the Text class">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "hi there" ).toString() == "hi there"
</Original>
<Expanded>
"hi there" == "hi there"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
Text( "hi there", narrow ).toString() == "hi\nthere"
</Original>
<Expanded>
"hi
there"
==
"hi
there"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="The NO_FAIL macro reports a failure but does not fail the test">
<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">
<OverallResult success="false"/>
</TestCase>
<TestCase name="Tracker">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<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">
<Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
3.14
</Exception>
<OverallResult success="false"/>
</TestCase>
<TestCase name="Use a custom approx">
<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">
<Section name="Section with one argument">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="When checked exceptions are thrown they can be expected or unexpected">
<Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/ExceptionTests.cpp" >
<Original>
thisThrows()
</Original>
<Expanded>
thisThrows()
</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">
<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 abort and fail">
<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">
<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">
<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">
<Section name="section name">
<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">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Where the LHS is not a simple value">
<Warning>
Uncomment the code in this test to check that it gives a sensible compiler error
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Where there is more to the expression after the RHS">
<Warning>
Uncomment the code in this test to check that it gives a sensible compiler error
</Warning>
<OverallResult success="true"/>
</TestCase>
<TestCase name="X/level/0/a">
<OverallResult success="true"/>
</TestCase>
<TestCase name="X/level/0/b">
<OverallResult success="true"/>
</TestCase>
<TestCase name="X/level/1/a">
<OverallResult success="true"/>
</TestCase>
<TestCase name="X/level/1/b">
<OverallResult success="true"/>
</TestCase>
<TestCase name="XmlEncode">
<Section name="normal string">
<Expression success="true" type="REQUIRE" filename="projects/<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">
<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">
<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">
<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">
<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">
<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)">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
encode( "[\x01]" ) == "[&amp;#x01;]"
</Original>
<Expanded>
"[&amp;#x01;]" == "[&amp;#x01;]"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="string with control char (x7F)">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
encode( "[\x7F]" ) == "[&amp;#x7F;]"
</Original>
<Expanded>
"[&amp;#x7F;]" == "[&amp;#x7F;]"
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="atomic if">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
x == 0
</Original>
<Expanded>
0 == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="boolean member">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
obj.prop != 0
</Original>
<Expanded>
0x<hex digits> != 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="checkedElse">
<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">
<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">
<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">
<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">
<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">
<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">
<Section name="c">
<Section name="d (leaf)">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="c">
<Section name="e (leaf)">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="f (leaf)">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="first tag">
<OverallResult success="true"/>
</TestCase>
<TestCase name="just failure">
<Failure>
Previous info should not be seen
</Failure>
<OverallResult success="false"/>
</TestCase>
<TestCase name="just info">
<OverallResult success="true"/>
</TestCase>
<TestCase name="looped SECTION tests">
<Section name="s1" description="b is currently: 0">
<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">
<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>
<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>
<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">
<Section name="s1" description="doesn't equal">
<Section name="s2" description="equal">
<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">
<Section name="s3" description="not equal">
<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">
<Section name="s4" description="less than">
<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">
<Section name="s1" description="doesn't equal">
<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">
<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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
s == "7"
</Original>
<Expanded>
"7" == "7"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="not allowed">
<OverallResult success="true"/>
</TestCase>
<TestCase name="null strings">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
makeString( false ) != static_cast&lt;char*>(0)
</Original>
<Expanded>
"valid string" != {null string}
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
<Original>
makeString( true ) == static_cast&lt;char*>(0)
</Original>
<Expanded>
{null string} == {null string}
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="pair&lt;pair&lt;int,const char *,pair&lt;std::string,int> > -> toString">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
Catch::toString( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }"
</Original>
<Expanded>
"{ { 42, "Arthur" }, { "Ford", 24 } }"
==
"{ { 42, "Arthur" }, { "Ford", 24 } }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="pointer to class">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
p == 0
</Original>
<Expanded>
NULL == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="random SECTION tests">
<Section name="s1" description="doesn't equal">
<Expression success="true" type="REQUIRE" filename="projects/<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">
<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">
<Section name="replace single char">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "b", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "azcdefcg"
</Original>
<Expanded>
"azcdefcg" == "azcdefcg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace two chars">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "c", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "abzdefzg"
</Original>
<Expanded>
"abzdefzg" == "abzdefzg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace first char">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "a", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "zbcdefcg"
</Original>
<Expanded>
"zbcdefcg" == "zbcdefcg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace last char">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, "g", "z" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "abcdefcz"
</Original>
<Expanded>
"abcdefcz" == "abcdefcz"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace all chars">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( letters, letters, "replaced" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == "replaced"
</Original>
<Expanded>
"replaced" == "replaced"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="replace no chars">
<Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
!replaceInPlace( letters, "x", "z" )
</Original>
<Expanded>
!false
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
letters == letters
</Original>
<Expanded>
"abcdefcg" == "abcdefcg"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<Section name="escape '">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
replaceInPlace( s, "'", "|'" )
</Original>
<Expanded>
true
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/TestMain.cpp" >
<Original>
s == "didn|'t"
</Original>
<Expanded>
"didn|'t" == "didn|'t"
</Expanded>
</Expression>
<OverallResults successes="2" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="second tag">
<OverallResult success="true"/>
</TestCase>
<TestCase name="send a single char to INFO">
<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">
<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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
Catch::toString(value) == "{ 34, \"xyzzy\" }"
</Original>
<Expanded>
"{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="std::pair&lt;int,std::string> -> toString">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
Catch::toString( 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">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringPair.cpp" >
<Original>
Catch::toString( pr ) == "{ { \"green\", 55 } }"
</Original>
<Expanded>
"{ { "green", 55 } }"
==
"{ { "green", 55 } }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="string literals of different sizes can be compared">
<Expression success="false" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
<Original>
std::string( "first" ) == "second"
</Original>
<Expanded>
"first" == "second"
</Expanded>
</Expression>
<OverallResult success="false"/>
</TestCase>
<TestCase name="toString on const wchar_t const pointer returns the string contents">
<Expression success="true" type="CHECK" filename="projects/<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">
<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">
<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">
<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( has_maker )">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
Catch::toString( item ) == "StringMaker&lt;has_maker>"
</Original>
<Expanded>
"StringMaker&lt;has_maker>"
==
"StringMaker&lt;has_maker>"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString( has_maker_and_toString )">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
Catch::toString( item ) == "toString( has_maker_and_toString )"
</Original>
<Expanded>
"toString( has_maker_and_toString )"
==
"toString( has_maker_and_toString )"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString( has_toString )">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
Catch::toString( item ) == "toString( has_toString )"
</Original>
<Expanded>
"toString( has_toString )"
==
"toString( has_toString )"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString( vectors&lt;has_maker )">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
Catch::toString( v ) == "{ StringMaker&lt;has_maker> }"
</Original>
<Expanded>
"{ StringMaker&lt;has_maker> }"
==
"{ StringMaker&lt;has_maker> }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum w/operator&lt;&lt;)">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
Catch::toString(e0) == "E2{0}"
</Original>
<Expanded>
"E2{0}" == "E2{0}"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
Catch::toString(e1) == "E2{1}"
</Original>
<Expanded>
"E2{1}" == "E2{1}"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum)">
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
Catch::toString(e0) == "0"
</Original>
<Expanded>
"0" == "0"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/<exe-name>/EnumToString.cpp" >
<Original>
Catch::toString(e1) == "1"
</Original>
<Expanded>
"1" == "1"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vector&lt;int> -> toString">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
Catch::toString(vv) == "{ }"
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
Catch::toString(vv) == "{ 42 }"
</Original>
<Expanded>
"{ 42 }" == "{ 42 }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
Catch::toString(vv) == "{ 42, 250 }"
</Original>
<Expanded>
"{ 42, 250 }" == "{ 42, 250 }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vector&lt;string> -> toString">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
Catch::toString(vv) == "{ }"
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
Catch::toString(vv) == "{ \"hello\" }"
</Original>
<Expanded>
"{ "hello" }" == "{ "hello" }"
</Expanded>
</Expression>
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringVector.cpp" >
<Original>
Catch::toString(vv) == "{ \"hello\", \"world\" }"
</Original>
<Expanded>
"{ "hello", "world" }"
==
"{ "hello", "world" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vectors can be sized and resized">
<Expression success="true" type="REQUIRE" filename="projects/<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">
<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">
<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">
<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">
<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">
<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">
<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>">
<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;">
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="817" failures="81" expectedFailures="18"/>
</Group>
<OverallResults successes="817" failures="80" expectedFailures="18"/>
</Catch>