Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPhil Nash2017-08-17 16:48:46 +0100
committerPhil Nash2017-08-17 16:48:46 +0100
commitb8f482b9aa4f274bdc7f4e840283db05a5ebfe2e (patch)
tree6cb51283839039cdfc05016171c0dba9fe478086
parentaaedae60b41121da6c2d0e362f8a6bba2b420e00 (diff)
downloadcatch3-b8f482b9aa4f274bdc7f4e840283db05a5ebfe2e.tar.gz
Added test comparing non-copyable values
-rw-r--r--projects/SelfTest/Baselines/console.std.approved.txt4
-rw-r--r--projects/SelfTest/Baselines/console.sw.approved.txt16
-rw-r--r--projects/SelfTest/Baselines/junit.sw.approved.txt3
-rw-r--r--projects/SelfTest/Baselines/xml.sw.approved.txt15
-rw-r--r--projects/SelfTest/Baselines/xml.sw.unapproved.txt8293
-rw-r--r--projects/SelfTest/TrickyTests.cpp6
6 files changed, 8330 insertions, 7 deletions
diff --git a/projects/SelfTest/Baselines/console.std.approved.txt b/projects/SelfTest/Baselines/console.std.approved.txt
index 42d62c9c..50991312 100644
--- a/projects/SelfTest/Baselines/console.std.approved.txt
+++ b/projects/SelfTest/Baselines/console.std.approved.txt
@@ -1020,6 +1020,6 @@ with expansion:
"{?}" == "1"
===============================================================================
-test cases: 182 | 131 passed | 47 failed | 4 failed as expected
-assertions: 881 | 764 passed | 96 failed | 21 failed as expected
+test cases: 183 | 132 passed | 47 failed | 4 failed as expected
+assertions: 882 | 765 passed | 96 failed | 21 failed as expected
diff --git a/projects/SelfTest/Baselines/console.sw.approved.txt b/projects/SelfTest/Baselines/console.sw.approved.txt
index 1d228de6..ae2f6928 100644
--- a/projects/SelfTest/Baselines/console.sw.approved.txt
+++ b/projects/SelfTest/Baselines/console.sw.approved.txt
@@ -6673,6 +6673,18 @@ with expansion:
"7" == "7"
-------------------------------------------------------------------------------
+non-copyable objects
+-------------------------------------------------------------------------------
+TrickyTests.cpp:<line number>
+...............................................................................
+
+TrickyTests.cpp:<line number>:
+PASSED:
+ CHECK( ti == typeid(int) )
+with expansion:
+ {?} == {?}
+
+-------------------------------------------------------------------------------
not allowed
-------------------------------------------------------------------------------
MiscTests.cpp:<line number>
@@ -7523,6 +7535,6 @@ MiscTests.cpp:<line number>:
PASSED:
===============================================================================
-test cases: 182 | 128 passed | 50 failed | 4 failed as expected
-assertions: 883 | 760 passed | 102 failed | 21 failed as expected
+test cases: 183 | 129 passed | 50 failed | 4 failed as expected
+assertions: 884 | 761 passed | 102 failed | 21 failed as expected
diff --git a/projects/SelfTest/Baselines/junit.sw.approved.txt b/projects/SelfTest/Baselines/junit.sw.approved.txt
index 6e3607a8..e49e19e4 100644
--- a/projects/SelfTest/Baselines/junit.sw.approved.txt
+++ b/projects/SelfTest/Baselines/junit.sw.approved.txt
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuitesloose text artifact
>
- <testsuite name="<exe-name>" errors="15" failures="88" tests="884" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
+ <testsuite name="<exe-name>" errors="15" failures="88" tests="885" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}"/>
<testcase classname="<exe-name>.global" name="#748 - captures with unexpected exceptions/outside assertions" time="{duration}">
<error type="TEST_CASE">
@@ -725,6 +725,7 @@ MiscTests.cpp:<line number>
<testcase classname="<exe-name>.global" name="nested SECTION tests/s1" time="{duration}"/>
<testcase classname="<exe-name>.global" name="nested SECTION tests/s1/s2" time="{duration}"/>
<testcase classname="<exe-name>.global" name="non streamable - with conv. op" time="{duration}"/>
+ <testcase classname="<exe-name>.global" name="non-copyable objects" time="{duration}"/>
<testcase classname="<exe-name>.global" name="not allowed" time="{duration}"/>
<testcase classname="<exe-name>.global" name="null strings" time="{duration}"/>
<testcase classname="<exe-name>.global" name="null_ptr" time="{duration}"/>
diff --git a/projects/SelfTest/Baselines/xml.sw.approved.txt b/projects/SelfTest/Baselines/xml.sw.approved.txt
index f290b1de..685e21bc 100644
--- a/projects/SelfTest/Baselines/xml.sw.approved.txt
+++ b/projects/SelfTest/Baselines/xml.sw.approved.txt
@@ -7433,6 +7433,17 @@ loose text artifact
</Expression>
<OverallResult success="true"/>
</TestCase>
+ <TestCase name="non-copyable objects" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ ti == typeid(int)
+ </Original>
+ <Expanded>
+ {?} == {?}
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
<TestCase name="not allowed" tags="[!throws]" filename="projects/<exe-name>/MiscTests.cpp" >
<OverallResult success="true"/>
</TestCase>
@@ -8276,7 +8287,7 @@ loose text artifact
</Section>
<OverallResult success="true"/>
</TestCase>
- <OverallResults successes="760" failures="103" expectedFailures="21"/>
+ <OverallResults successes="761" failures="103" expectedFailures="21"/>
</Group>
- <OverallResults successes="760" failures="102" expectedFailures="21"/>
+ <OverallResults successes="761" failures="102" expectedFailures="21"/>
</Catch>
diff --git a/projects/SelfTest/Baselines/xml.sw.unapproved.txt b/projects/SelfTest/Baselines/xml.sw.unapproved.txt
new file mode 100644
index 00000000..edabc05e
--- /dev/null
+++ b/projects/SelfTest/Baselines/xml.sw.unapproved.txt
@@ -0,0 +1,8293 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Catch name="<exe-name>">
+ <Group name="<exe-name>">
+ <TestCase name="# A test name that starts with a #" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="#748 - captures with unexpected exceptions" tags="[!shouldfail][!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Section name="outside assertions" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Info>
+ answer := 42
+ </Info>
+ <Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
+ expected exception
+ </Exception>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <Section name="inside REQUIRE_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Info>
+ answer := 42
+ </Info>
+ <Expression success="false" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Original>
+ thisThrows()
+ </Original>
+ <Expanded>
+ thisThrows()
+ </Expanded>
+ <Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
+ expected exception
+ </Exception>
+ </Expression>
+ <OverallResults successes="0" failures="1" expectedFailures="0"/>
+ </Section>
+ <Section name="inside REQUIRE_THROWS" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Info>
+ answer := 42
+ </Info>
+ <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Original>
+ thisThrows()
+ </Original>
+ <Expanded>
+ thisThrows()
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="#809" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ 42 == f
+ </Original>
+ <Expanded>
+ 42 == {?}
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="#833" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ a == t
+ </Original>
+ <Expanded>
+ 3 == 3
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ a == t
+ </Original>
+ <Expanded>
+ 3 == 3
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ throws_int(true)
+ </Original>
+ <Expanded>
+ throws_int(true)
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THROWS_AS" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ throws_int(true), int
+ </Original>
+ <Expanded>
+ throws_int(true), int
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ throws_int(false)
+ </Original>
+ <Expanded>
+ throws_int(false)
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ "aaa", Catch::EndsWith("aaa")
+ </Original>
+ <Expanded>
+ "aaa" ends with: "aaa"
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ templated_tests&lt;int>(3)
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="#835 -- errno should not be touched by Catch" tags="[!shouldfail][.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/MiscTests.cpp" >
+ <Original>
+ f() == 0
+ </Original>
+ <Expanded>
+ 1 == 0
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" >
+ <Original>
+ errno == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="#872" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Info>
+ dummy := 0
+ </Info>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/CompilationTests.cpp" >
+ <Original>
+ x == 4
+ </Original>
+ <Expanded>
+ {?} == 4
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="#961 -- Dynamically created sections should all be reported" tags="[.][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
+ <Section name="Looped section 0" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="Looped section 1" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="Looped section 2" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="Looped section 3" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="Looped section 4" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="'Not' checks that should fail" tags="[.][failing][hide]" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ false != false
+ </Original>
+ <Expanded>
+ false != false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ true != true
+ </Original>
+ <Expanded>
+ true != true
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !true
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !true
+ </Original>
+ <Expanded>
+ !true
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !trueValue
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !trueValue
+ </Original>
+ <Expanded>
+ !true
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !(1 == 1)
+ </Original>
+ <Expanded>
+ false
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !1 == 1
+ </Original>
+ <Expanded>
+ !(1 == 1)
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="'Not' checks that should succeed" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ false == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ true == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !false
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !false
+ </Original>
+ <Expanded>
+ !false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !falseValue
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !falseValue
+ </Original>
+ <Expanded>
+ !false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !(1 == 2)
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/ConditionTests.cpp" >
+ <Original>
+ !1 == 2
+ </Original>
+ <Expanded>
+ !(1 == 2)
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="(unimplemented) static bools can be evaluated" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Section name="compare to true" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ is_true&lt;true>::value == true
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ true == is_true&lt;true>::value
+ </Original>
+ <Expanded>
+ true == true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="compare to false" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ is_true&lt;false>::value == false
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ false == is_true&lt;false>::value
+ </Original>
+ <Expanded>
+ false == false
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="negation" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ !is_true&lt;false>::value
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="double negation" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ !!is_true&lt;true>::value
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Section name="direct" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ is_true&lt;true>::value
+ </Original>
+ <Expanded>
+ true
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ !is_true&lt;false>::value
+ </Original>
+ <Expanded>
+ !false
+ </Expanded>
+ </Expression>
+ <OverallResults successes="2" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="A METHOD_AS_TEST_CASE based test run that fails" tags="[.][class][failing][hide]" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Original>
+ s == "world"
+ </Original>
+ <Expanded>
+ "hello" == "world"
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="A METHOD_AS_TEST_CASE based test run that succeeds" tags="[class]" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Original>
+ s == "hello"
+ </Original>
+ <Expanded>
+ "hello" == "hello"
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="A TEST_CASE_METHOD based test run that fails" tags="[.][class][failing][hide]" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Original>
+ m_a == 2
+ </Original>
+ <Expanded>
+ 1 == 2
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="A TEST_CASE_METHOD based test run that succeeds" tags="[class]" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ClassTests.cpp" >
+ <Original>
+ m_a == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="A couple of nested sections followed by a failure" tags="[.][failing][hide]" filename="projects/<exe-name>/MiscTests.cpp" >
+ <Section name="Outer" filename="projects/<exe-name>/MiscTests.cpp" >
+ <Section name="Inner" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <OverallResults successes="1" failures="0" expectedFailures="0"/>
+ </Section>
+ <Failure filename="projects/<exe-name>/MiscTests.cpp" >
+ to infinity and beyond
+ </Failure>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="A failing expression with a non streamable type is still captured" tags="[.][Tricky][failing][hide]" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ &amp;o1 == &amp;o2
+ </Original>
+ <Expanded>
+ 0x<hex digits> == 0x<hex digits>
+ </Expanded>
+ </Expression>
+ <Expression success="false" type="CHECK" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ o1 == o2
+ </Original>
+ <Expanded>
+ {?} == {?}
+ </Expanded>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Absolute margin" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 104.0 != Approx(100.0)
+ </Original>
+ <Expanded>
+ 104.0 != Approx( 100.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 104.0 == Approx(100.0).margin(5)
+ </Original>
+ <Expanded>
+ 104.0 == Approx( 100.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 104.0 != Approx(100.0).margin(3)
+ </Original>
+ <Expanded>
+ 104.0 != Approx( 100.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 100.3 != Approx(100.0)
+ </Original>
+ <Expanded>
+ 100.3 != Approx( 100.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 100.3 == Approx(100.0).margin(0.5)
+ </Original>
+ <Expanded>
+ 100.3 == Approx( 100.0 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="AllOf matcher" tags="[matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
+ <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
+ <Original>
+ testStringForMatching(), AllOf( Catch::Contains( "string" ), Catch::Contains( "abc" ) )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="An empty test with no assertions" tags="[empty]" filename="projects/<exe-name>/MiscTests.cpp" >
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="An expression with side-effects should only be evaluated once" tags="[Tricky]" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ i++ == 7
+ </Original>
+ <Expanded>
+ 7 == 7
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/TrickyTests.cpp" >
+ <Original>
+ i++ == 8
+ </Original>
+ <Expanded>
+ 8 == 8
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="An unchecked exception reports the line of the last assertion" tags="[!throws][.][failing][hide]" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Expression success="true" type="CHECK" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Original>
+ 1 == 1
+ </Original>
+ <Expanded>
+ 1 == 1
+ </Expanded>
+ </Expression>
+ <Expression success="false" filename="projects/<exe-name>/ExceptionTests.cpp" >
+ <Original>
+ {Unknown expression after the reported line}
+ </Original>
+ <Expanded>
+ {Unknown expression after the reported line}
+ </Expanded>
+ <Exception filename="projects/<exe-name>/ExceptionTests.cpp" >
+ unexpected exception
+ </Exception>
+ </Expression>
+ <OverallResult success="false"/>
+ </TestCase>
+ <TestCase name="Anonymous test case 1" filename="projects/<exe-name>/VariadicMacrosTests.cpp" >
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="AnyOf matcher" tags="[matchers]" filename="projects/<exe-name>/MatchersTests.cpp" >
+ <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
+ <Original>
+ testStringForMatching(), AnyOf( Catch::Contains( "string" ), Catch::Contains( "not there" ) )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ( contains: "string" or contains: "not there" )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/MatchersTests.cpp" >
+ <Original>
+ testStringForMatching(), AnyOf( Catch::Contains( "not there" ), Catch::Contains( "string" ) )
+ </Original>
+ <Expanded>
+ "this string contains 'abc' as a substring" ( contains: "not there" or contains: "string" )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Approximate PI" tags="[Approx][PI]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ divide( 22, 7 ) == Approx( 3.141 ).epsilon( 0.001 )
+ </Original>
+ <Expanded>
+ 3.1428571429 == Approx( 3.141 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 )
+ </Original>
+ <Expanded>
+ 3.1428571429 != Approx( 3.141 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Approximate comparisons with different epsilons" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ d != Approx( 1.231 )
+ </Original>
+ <Expanded>
+ 1.23 != Approx( 1.231 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ d == Approx( 1.231 ).epsilon( 0.1 )
+ </Original>
+ <Expanded>
+ 1.23 == Approx( 1.231 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Approximate comparisons with floats" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 1.23f == Approx( 1.23f )
+ </Original>
+ <Expanded>
+ 1.23f == Approx( 1.2300000191 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 0.0f == Approx( 0.0f )
+ </Original>
+ <Expanded>
+ 0.0f == Approx( 0.0 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Approximate comparisons with ints" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 1 == Approx( 1 )
+ </Original>
+ <Expanded>
+ 1 == Approx( 1.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 0 == Approx( 0 )
+ </Original>
+ <Expanded>
+ 0 == Approx( 0.0 )
+ </Expanded>
+ </Expression>
+ <OverallResult success="true"/>
+ </TestCase>
+ <TestCase name="Approximate comparisons with mixed numeric types" tags="[Approx]" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 1.0f == Approx( 1 )
+ </Original>
+ <Expanded>
+ 1.0f == Approx( 1.0 )
+ </Expanded>
+ </Expression>
+ <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/ApproxTests.cpp" >
+ <Original>
+ 0 == Approx( dZero)
+ </Original>
+ <Expanded>
+ 0 == Approx( 0.0 )
+ </Expanded>
+