catch2/projects/SelfTest/Baselines/xml.sw.approved.txt
Phil Nash 4a04682e49 Text formatting rework
Rewrote main wrapping loop. Now uses iterators instead of indices and intermediate strings.
Differentiates between chars to wrap before, after or instead of.
Doesn’t preserve trailing newlines.
Wraps or more characters.
Dropped support for using tab character as an indent setting control char.
Hopefully avoids all the undefined behaviour and other bugs of the previous implementation.
2017-01-23 12:28:40 +00:00

9534 lines
348 KiB
Plaintext

<?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( vectors&lt;has_maker_and_toString )">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
Catch::toString( v ) == "{ StringMaker&lt;has_maker_and_toString> }"
</Original>
<Expanded>
"{ StringMaker&lt;has_maker_and_toString> }"
==
"{ StringMaker&lt;has_maker_and_toString> }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString( vectors&lt;has_toString )">
<Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ToStringWhich.cpp" >
<Original>
Catch::toString( v ) == "{ {?} }"
</Original>
<Expanded>
"{ {?} }" == "{ {?} }"
</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="819" failures="81" expectedFailures="18"/>
</Group>
<OverallResults successes="819" failures="80" expectedFailures="18"/>
</Catch>