<?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>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" tags="[Decomposition]" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" >
        <Original>
          fptr == 0
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" >
        <Original>
          fptr == 0l
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#1027" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          y.v == 0
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          0 == y.v
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#1147" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          t1 == t2
        </Original>
        <Expanded>
          {?} == {?}
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          t1 != t2
        </Original>
        <Expanded>
          {?} != {?}
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          t1 &lt; t2
        </Original>
        <Expanded>
          {?} &lt; {?}
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          t1 > t2
        </Original>
        <Expanded>
          {?} > {?}
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          t1 &lt;= t2
        </Original>
        <Expanded>
          {?} &lt;= {?}
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          t1 >= t2
        </Original>
        <Expanded>
          {?} >= {?}
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#748 - captures with unexpected exceptions" tags="[!shouldfail][!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Section name="outside assertions" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Info>
          answer := 42
        </Info>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          expected exception
        </Exception>
        <OverallResults successes="0" failures="0" expectedFailures="1"/>
      </Section>
      <Section name="inside REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Info>
          answer := 42
        </Info>
        <Expression success="false" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          <Original>
            thisThrows()
          </Original>
          <Expanded>
            thisThrows()
          </Expanded>
          <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
            expected exception
          </Exception>
        </Expression>
        <OverallResults successes="0" failures="0" expectedFailures="1"/>
      </Section>
      <Section name="inside REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Info>
          answer := 42
        </Info>
        <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Exception.tests.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>/UsageTests/Compilation.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          42 == f
        </Original>
        <Expanded>
          42 == {?}
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#833" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          a == t
        </Original>
        <Expanded>
          3 == 3
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          a == t
        </Original>
        <Expanded>
          3 == 3
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          throws_int(true)
        </Original>
        <Expanded>
          throws_int(true)
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_THROWS_AS" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          throws_int(true), int
        </Original>
        <Expanded>
          throws_int(true), int
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          throws_int(false)
        </Original>
        <Expanded>
          throws_int(false)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          "aaa", Catch::EndsWith("aaa")
        </Original>
        <Expanded>
          "aaa" ends with: "aaa"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          templated_tests&lt;int>(3)
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#835 -- errno should not be touched by Catch" tags="[!shouldfail][.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          f() == 0
        </Original>
        <Expanded>
          1 == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          errno == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#872" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
      <Info>
        dummy := 0
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Compilation.tests.cpp" >
        <Original>
          x == 4
        </Original>
        <Expanded>
          {?} == 4
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="#961 -- Dynamically created sections should all be reported" tags="[.]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="Looped section 0" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Looped section 1" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Looped section 2" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Looped section 3" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Looped section 4" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="'Not' checks that should fail" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          false != false
        </Original>
        <Expanded>
          false != false
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          true != true
        </Original>
        <Expanded>
          true != true
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !true
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !(true)
        </Original>
        <Expanded>
          !true
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !trueValue
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !(trueValue)
        </Original>
        <Expanded>
          !true
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !(1 == 1)
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          false == false
        </Original>
        <Expanded>
          false == false
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          true == true
        </Original>
        <Expanded>
          true == true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !false
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !(false)
        </Original>
        <Expanded>
          !false
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !falseValue
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !(falseValue)
        </Original>
        <Expanded>
          !false
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          !(1 == 2)
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Tricky.tests.cpp" >
      <Section name="compare to true" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Original>
            is_true&lt;true>::value == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.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>/UsageTests/Tricky.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Original>
            is_true&lt;false>::value == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.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>/UsageTests/Tricky.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.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>/UsageTests/Tricky.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.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>/UsageTests/Tricky.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Original>
            is_true&lt;true>::value
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Original>
            !(is_true&lt;false>::value)
          </Original>
          <Expanded>
            !false
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="A METHOD_AS_TEST_CASE based test run that fails" tags="[.][class][failing]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" >
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.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>/UsageTests/Class.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" >
        <Original>
          s == "hello"
        </Original>
        <Expanded>
          "hello" == "hello"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="A TEST_CASE_METHOD based test run that fails" tags="[.][class][failing]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" >
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.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>/UsageTests/Class.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" >
        <Original>
          m_a == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="A couple of nested sections followed by a failure" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="Outer" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Section name="Inner" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Failure filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        to infinity and beyond
      </Failure>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="A failing expression with a non streamable type is still captured" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.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>/UsageTests/Tricky.tests.cpp" >
        <Original>
          o1 == o2
        </Original>
        <Expanded>
          {?} == {?}
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Absolute margin" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
        <Original>
          104.0 == Approx(100.0).margin(4)
        </Original>
        <Expanded>
          104.0 == Approx( 100.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
        <Original>
          100.3 == Approx(100.0).margin(0.5)
        </Original>
        <Expanded>
          100.3 == Approx( 100.0 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="An empty test with no assertions" tags="[empty]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="An expression with side-effects should only be evaluated once" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          i++ == 7
        </Original>
        <Expanded>
          7 == 7
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          i++ == 8
        </Original>
        <Expanded>
          8 == 8
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="An unchecked exception reports the line of the last assertion" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          1 == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="false" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          {Unknown expression after the reported line}
        </Original>
        <Expanded>
          {Unknown expression after the reported line}
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          unexpected exception
        </Exception>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Anonymous test case 1" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Approx setters validate their arguments" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(0).margin(0)
        </Original>
        <Expanded>
          Approx(0).margin(0)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(0).margin(1234656)
        </Original>
        <Expanded>
          Approx(0).margin(1234656)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(0).margin(-2), std::domain_error
        </Original>
        <Expanded>
          Approx(0).margin(-2), std::domain_error
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(0).epsilon(0)
        </Original>
        <Expanded>
          Approx(0).epsilon(0)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(0).epsilon(1)
        </Original>
        <Expanded>
          Approx(0).epsilon(1)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(0).epsilon(-0.001), std::domain_error
        </Original>
        <Expanded>
          Approx(0).epsilon(-0.001), std::domain_error
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(0).epsilon(1.0001), std::domain_error
        </Original>
        <Expanded>
          Approx(0).epsilon(1.0001), std::domain_error
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Approx with exactly-representable margin" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          0.25f == Approx(0.0f).margin(0.25f)
        </Original>
        <Expanded>
          0.25f == Approx( 0.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          0.0f == Approx(0.25f).margin(0.25f)
        </Original>
        <Expanded>
          0.0f == Approx( 0.25 )
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          0.5f == Approx(0.25f).margin(0.25f)
        </Original>
        <Expanded>
          0.5f == Approx( 0.25 )
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          245.0f == Approx(245.25f).margin(0.25f)
        </Original>
        <Expanded>
          245.0f == Approx( 245.25 )
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          245.5f == Approx(245.25f).margin(0.25f)
        </Original>
        <Expanded>
          245.5f == Approx( 245.25 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Approximate PI" tags="[Approx][PI]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d != Approx( 1.231 )
        </Original>
        <Expanded>
          1.23 != Approx( 1.231 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          1 == Approx( 1 )
        </Original>
        <Expanded>
          1 == Approx( 1.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          1.0f == Approx( 1 )
        </Original>
        <Expanded>
          1.0f == Approx( 1.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          0 == Approx( dZero)
        </Original>
        <Expanded>
          0 == Approx( 0.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          0 == Approx( dSmall ).margin( 0.001 )
        </Original>
        <Expanded>
          0 == Approx( 0.00001 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          1.234f == Approx( dMedium )
        </Original>
        <Expanded>
          1.234f == Approx( 1.234 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          dMedium == Approx( 1.234f )
        </Original>
        <Expanded>
          1.234 == Approx( 1.2339999676 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Assertions then sections" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          true
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="A section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Original>
            true
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Section name="Another section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
            <Original>
              true
            </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>/UsageTests/Tricky.tests.cpp" >
        <Original>
          true
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="A section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Original>
            true
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Section name="Another other section" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
            <Original>
              true
            </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="Assorted miscellaneous tests" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          INFINITY == Approx(INFINITY)
        </Original>
        <Expanded>
          inff == Approx( inf )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          NAN != Approx(NAN)
        </Original>
        <Expanded>
          nanf != Approx( nan )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          !(NAN == Approx(NAN))
        </Original>
        <Expanded>
          !(nanf == Approx( nan ))
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Bitfields can be captured (#1027)" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          y.v == 0
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          0 == y.v
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Capture and info messages" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
      <Section name="Capture should stringify like assertions" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Info>
          i := 2
        </Info>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            true
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Info should NOT stringify the way assertions do" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Info>
          3
        </Info>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            true
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Character pretty printing" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
      <Section name="Specifically escaped" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            tab == '\t'
          </Original>
          <Expanded>
            '\t' == '\t'
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            newline == '\n'
          </Original>
          <Expanded>
            '\n' == '\n'
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            carr_return == '\r'
          </Original>
          <Expanded>
            '\r' == '\r'
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            form_feed == '\f'
          </Original>
          <Expanded>
            '\f' == '\f'
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="General chars" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            space == ' '
          </Original>
          <Expanded>
            ' ' == ' '
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == chars[i]
          </Original>
          <Expanded>
            'a' == 'a'
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == chars[i]
          </Original>
          <Expanded>
            'z' == 'z'
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == chars[i]
          </Original>
          <Expanded>
            'A' == 'A'
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == chars[i]
          </Original>
          <Expanded>
            'Z' == 'Z'
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Low ASCII" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            null_terminator == '\0'
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == i
          </Original>
          <Expanded>
            2 == 2
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == i
          </Original>
          <Expanded>
            3 == 3
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == i
          </Original>
          <Expanded>
            4 == 4
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            c == i
          </Original>
          <Expanded>
            5 == 5
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Commas in various macros are allowed" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
        </Original>
        <Expanded>
          std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
        </Original>
        <Expanded>
          std::vector&lt;constructor_throws>{constructor_throws{}, constructor_throws{}}
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
        </Original>
        <Expanded>
          std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_NOTHROW" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
        </Original>
        <Expanded>
          std::vector&lt;int>{1, 2, 3} == std::vector&lt;int>{1, 2, 3}
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2}
        </Original>
        <Expanded>
          { 1, 2 } == { 1, 2 }
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2}
        </Original>
        <Expanded>
          { 1, 2 } == { 1, 2 }
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          !(std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2, 3})
        </Original>
        <Expanded>
          !({ 1, 2 } == { 1, 2, 3 })
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          !(std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2, 3})
        </Original>
        <Expanded>
          !({ 1, 2 } == { 1, 2, 3 })
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_NOFAIL" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2}
        </Original>
        <Expanded>
          { 1, 2 } == { 1, 2 }
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECKED_IF" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2}
        </Original>
        <Expanded>
          { 1, 2 } == { 1, 2 }
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          true
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECKED_ELSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::vector&lt;int>{1, 2} == std::vector&lt;int>{1, 2}
        </Original>
        <Expanded>
          { 1, 2 } == { 1, 2 }
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Comparing function pointers" tags="[Tricky][function pointer]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          a
        </Original>
        <Expanded>
          0x<hex digits>
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          a == &amp;foo
        </Original>
        <Expanded>
          0x<hex digits> == 0x<hex digits>
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Comparison with explicitly convertible types" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          td == Approx(10.0)
        </Original>
        <Expanded>
          StrongDoubleTypedef(10) == Approx( 10.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(10.0) == td
        </Original>
        <Expanded>
          Approx( 10.0 ) == StrongDoubleTypedef(10)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          td != Approx(11.0)
        </Original>
        <Expanded>
          StrongDoubleTypedef(10) != Approx( 11.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(11.0) != td
        </Original>
        <Expanded>
          Approx( 11.0 ) != StrongDoubleTypedef(10)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          td &lt;= Approx(10.0)
        </Original>
        <Expanded>
          StrongDoubleTypedef(10) &lt;= Approx( 10.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          td &lt;= Approx(11.0)
        </Original>
        <Expanded>
          StrongDoubleTypedef(10) &lt;= Approx( 11.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(10.0) &lt;= td
        </Original>
        <Expanded>
          Approx( 10.0 ) &lt;= StrongDoubleTypedef(10)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(9.0) &lt;= td
        </Original>
        <Expanded>
          Approx( 9.0 ) &lt;= StrongDoubleTypedef(10)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          td >= Approx(9.0)
        </Original>
        <Expanded>
          StrongDoubleTypedef(10) >= Approx( 9.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          td >= Approx(td)
        </Original>
        <Expanded>
          StrongDoubleTypedef(10) >= Approx( 10.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(td) >= td
        </Original>
        <Expanded>
          Approx( 10.0 ) >= StrongDoubleTypedef(10)
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx(11.0) >= td
        </Original>
        <Expanded>
          Approx( 11.0 ) >= StrongDoubleTypedef(10)
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Comparisons between ints where one side is computed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          54 == 6*9
        </Original>
        <Expanded>
          54 == 54
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Comparisons between unsigned ints and negative signed ints match c++ standard behaviour" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          ( -1 > 2u )
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          -1 > 2u
        </Original>
        <Expanded>
          -1 > 2
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          ( 2u &lt; -1 )
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          2u &lt; -1
        </Original>
        <Expanded>
          2 &lt; -1
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          ( minInt > 2u )
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          minInt > 2u
        </Original>
        <Expanded>
          -2147483648 > 2
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Comparisons with int literals don't warn when mixing signed/ unsigned" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          i == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          ui == 2
        </Original>
        <Expanded>
          2 == 2
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          l == 3
        </Original>
        <Expanded>
          3 == 3
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          ul == 4
        </Original>
        <Expanded>
          4 == 4
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          c == 5
        </Original>
        <Expanded>
          5 == 5
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          uc == 6
        </Original>
        <Expanded>
          6 == 6
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          1 == i
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          2 == ui
        </Original>
        <Expanded>
          2 == 2
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          3 == l
        </Original>
        <Expanded>
          3 == 3
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          4 == ul
        </Original>
        <Expanded>
          4 == 4
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          5 == c
        </Original>
        <Expanded>
          5 == 5
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          6 == uc
        </Original>
        <Expanded>
          6 == 6
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          (std::numeric_limits&lt;uint32_t>::max)() > ul
        </Original>
        <Expanded>
          4294967295 (0x<hex digits>) > 4
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Contains string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Contains("not there", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" contains: "not there" (case insensitive)
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Contains("STRING")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" contains: "STRING"
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Custom exceptions can be translated when testing for nothrow" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="false" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          throwCustom()
        </Original>
        <Expanded>
          throwCustom()
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          custom exception - not std
        </Exception>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Custom exceptions can be translated when testing for throwing as something else" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="false" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          throwCustom(), std::exception
        </Original>
        <Expanded>
          throwCustom(), std::exception
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          custom exception - not std
        </Exception>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Custom std-exceptions can be custom translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        custom std exception
      </Exception>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Default scale is invisible to comparison" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          101.000001 != Approx(100).epsilon(0.01)
        </Original>
        <Expanded>
          101.000001 != Approx( 100.0 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          std::pow(10, -5) != Approx(std::pow(10, -7))
        </Original>
        <Expanded>
          0.00001 != Approx( 0.0000001 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="EndsWith string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), EndsWith("Substring")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" ends with: "Substring"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), EndsWith("this", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" ends with: "this" (case insensitive)
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Epsilon only applies to Approx's value" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          101.01 != Approx(100).epsilon(0.01)
        </Original>
        <Expanded>
          101.01 != Approx( 100.0 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Equality checks that should fail" tags="[!mayfail][.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven == 6
        </Original>
        <Expanded>
          7 == 6
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven == 8
        </Original>
        <Expanded>
          7 == 8
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven == 0
        </Original>
        <Expanded>
          7 == 0
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello == "goodbye"
        </Original>
        <Expanded>
          "hello" == "goodbye"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello == "hell"
        </Original>
        <Expanded>
          "hello" == "hell"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello == "hello1"
        </Original>
        <Expanded>
          "hello" == "hello1"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello.size() == 6
        </Original>
        <Expanded>
          5 == 6
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          x == Approx( 1.301 )
        </Original>
        <Expanded>
          1.3 == Approx( 1.301 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Equality checks that should succeed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven == 7
        </Original>
        <Expanded>
          7 == 7
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello == "hello"
        </Original>
        <Expanded>
          "hello" == "hello"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          "hello" == data.str_hello
        </Original>
        <Expanded>
          "hello" == "hello"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello.size() == 5
        </Original>
        <Expanded>
          5 == 5
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          x == Approx( 1.3 )
        </Original>
        <Expanded>
          1.3 == Approx( 1.3 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Equals" tags="[matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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>
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Equals("this string contains 'ABC' as a substring", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" equals: "this string contains 'abc' as a substring" (case insensitive)
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Equals string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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>
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Equals("something else", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" equals: "something else" (case insensitive)
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Exception matchers that fail" tags="[!throws][.][.failing][exceptions][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Section name="No exception" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            doesNotThrow(), SpecialException, ExceptionMatcher{1}
          </Original>
          <Expanded>
            doesNotThrow(), SpecialException, ExceptionMatcher{1}
          </Expanded>
        </Expression>
        <Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            doesNotThrow(), SpecialException, ExceptionMatcher{1}
          </Original>
          <Expanded>
            doesNotThrow(), SpecialException, ExceptionMatcher{1}
          </Expanded>
        </Expression>
        <OverallResults successes="0" failures="2" expectedFailures="0"/>
      </Section>
      <Section name="Type mismatch" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            throwsAsInt(1), SpecialException, ExceptionMatcher{1}
          </Original>
          <Expanded>
            throwsAsInt(1), SpecialException, ExceptionMatcher{1}
          </Expanded>
          <Exception filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
            Unknown exception
          </Exception>
        </Expression>
        <Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            throwsAsInt(1), SpecialException, ExceptionMatcher{1}
          </Original>
          <Expanded>
            throwsAsInt(1), SpecialException, ExceptionMatcher{1}
          </Expanded>
          <Exception filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
            Unknown exception
          </Exception>
        </Expression>
        <OverallResults successes="0" failures="2" expectedFailures="0"/>
      </Section>
      <Section name="Contents are wrong" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            throws(3), SpecialException, ExceptionMatcher{1}
          </Original>
          <Expanded>
            {?} special exception has value of 1
          </Expanded>
        </Expression>
        <Expression success="false" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            throws(4), SpecialException, ExceptionMatcher{1}
          </Original>
          <Expanded>
            {?} special exception has value of 1
          </Expanded>
        </Expression>
        <OverallResults successes="0" failures="2" expectedFailures="0"/>
      </Section>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Exception matchers that succeed" tags="[!throws][exceptions][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="true" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          throws(1), SpecialException, ExceptionMatcher{1}
        </Original>
        <Expanded>
          {?} special exception has value of 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          throws(2), SpecialException, ExceptionMatcher{2}
        </Original>
        <Expanded>
          {?} special exception has value of 2
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Exception messages can be tested for" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Section name="exact match" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          <Original>
            thisThrows(), "expected exception"
          </Original>
          <Expanded>
            "expected exception" equals: "expected exception"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="different case" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          <Original>
            thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No )
          </Original>
          <Expanded>
            "expected exception" equals: "expected exception" (case insensitive)
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="wildcarded" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          <Original>
            thisThrows(), StartsWith( "expected" )
          </Original>
          <Expanded>
            "expected exception" starts with: "expected"
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          <Original>
            thisThrows(), EndsWith( "exception" )
          </Original>
          <Expanded>
            "expected exception" ends with: "exception"
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          <Original>
            thisThrows(), Contains( "except" )
          </Original>
          <Expanded>
            "expected exception" contains: "except"
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          <Original>
            thisThrows(), Contains( "exCept", Catch::CaseSensitive::No )
          </Original>
          <Expanded>
            "expected exception" contains: "except" (case insensitive)
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Expected exceptions that don't throw or unexpected exceptions fail the test" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="false" type="CHECK_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows(), std::string
        </Original>
        <Expanded>
          thisThrows(), std::string
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          expected exception
        </Exception>
      </Expression>
      <Expression success="false" type="CHECK_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisDoesntThrow(), std::domain_error
        </Original>
        <Expanded>
          thisDoesntThrow(), std::domain_error
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows()
        </Original>
        <Expanded>
          thisThrows()
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          expected exception
        </Exception>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="FAIL aborts the test" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        This is a failure
      </Failure>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="FAIL does not require an argument" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" />
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="FAIL_CHECK does not abort the test" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        This is a failure
      </Failure>
      <Warning>
        This message appears in the output
      </Warning>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Factorials are computed" tags="[factorial]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          Factorial(0) == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          Factorial(1) == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          Factorial(2) == 2
        </Original>
        <Expanded>
          2 == 2
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          Factorial(3) == 6
        </Original>
        <Expanded>
          6 == 6
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          Factorial(10) == 3628800
        </Original>
        <Expanded>
          3628800 (0x<hex digits>) == 3628800 (0x<hex digits>)
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Floating point matchers: double" tags="[floating-point][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Section name="Margin" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1., WithinAbs(1., 0)
          </Original>
          <Expanded>
            1.0 is within 0.0 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            0., WithinAbs(1., 1)
          </Original>
          <Expanded>
            0.0 is within 1.0 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            0., !WithinAbs(1., 0.99)
          </Original>
          <Expanded>
            0.0 not is within 0.99 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            0., !WithinAbs(1., 0.99)
          </Original>
          <Expanded>
            0.0 not is within 0.99 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            NAN, !WithinAbs(NAN, 0)
          </Original>
          <Expanded>
            nanf not is within 0.0 of nan
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="ULPs" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1., WithinULP(1., 0)
          </Original>
          <Expanded>
            1.0 is within 0 ULPs of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            std::nextafter(1., 2.), WithinULP(1., 1)
          </Original>
          <Expanded>
            1.0 is within 1 ULPs of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            std::nextafter(1., 0.), WithinULP(1., 1)
          </Original>
          <Expanded>
            1.0 is within 1 ULPs of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            std::nextafter(1., 2.), !WithinULP(1., 0)
          </Original>
          <Expanded>
            1.0 not is within 0 ULPs of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1., WithinULP(1., 0)
          </Original>
          <Expanded>
            1.0 is within 0 ULPs of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            -0., WithinULP(0., 0)
          </Original>
          <Expanded>
            -0.0 is within 0 ULPs of 0.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            NAN, !WithinULP(NAN, 123)
          </Original>
          <Expanded>
            nanf not is within 123 ULPs of nanf
          </Expanded>
        </Expression>
        <OverallResults successes="7" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Composed" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1., WithinAbs(1., 0.5) || WithinULP(2., 1)
          </Original>
          <Expanded>
            1.0 ( is within 0.5 of 1.0 or is within 1 ULPs of 2.0 )
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1., WithinAbs(2., 0.5) || WithinULP(1., 0)
          </Original>
          <Expanded>
            1.0 ( is within 0.5 of 2.0 or is within 0 ULPs of 1.0 )
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            NAN, !(WithinAbs(NAN, 100) || WithinULP(NAN, 123))
          </Original>
          <Expanded>
            nanf not ( is within 100.0 of nan or is within 123 ULPs of nanf )
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Constructor validation" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinAbs(1., 0.)
          </Original>
          <Expanded>
            WithinAbs(1., 0.)
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinAbs(1., -1.), std::domain_error
          </Original>
          <Expanded>
            WithinAbs(1., -1.), std::domain_error
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinULP(1., 0)
          </Original>
          <Expanded>
            WithinULP(1., 0)
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinULP(1., -1), std::domain_error
          </Original>
          <Expanded>
            WithinULP(1., -1), std::domain_error
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Floating point matchers: float" tags="[floating-point][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Section name="Margin" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1.f, WithinAbs(1.f, 0)
          </Original>
          <Expanded>
            1.0f is within 0.0 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            0.f, WithinAbs(1.f, 1)
          </Original>
          <Expanded>
            0.0f is within 1.0 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            0.f, !WithinAbs(1.f, 0.99f)
          </Original>
          <Expanded>
            0.0f not is within 0.9900000095 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            0.f, !WithinAbs(1.f, 0.99f)
          </Original>
          <Expanded>
            0.0f not is within 0.9900000095 of 1.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            0.f, WithinAbs(-0.f, 0)
          </Original>
          <Expanded>
            0.0f is within 0.0 of -0.0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            NAN, !WithinAbs(NAN, 0)
          </Original>
          <Expanded>
            nanf not is within 0.0 of nan
          </Expanded>
        </Expression>
        <OverallResults successes="6" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="ULPs" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1.f, WithinULP(1.f, 0)
          </Original>
          <Expanded>
            1.0f is within 0 ULPs of 1.0f
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            std::nextafter(1.f, 2.f), WithinULP(1.f, 1)
          </Original>
          <Expanded>
            1.0f is within 1 ULPs of 1.0f
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            std::nextafter(1.f, 0.f), WithinULP(1.f, 1)
          </Original>
          <Expanded>
            1.0f is within 1 ULPs of 1.0f
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            std::nextafter(1.f, 2.f), !WithinULP(1.f, 0)
          </Original>
          <Expanded>
            1.0f not is within 0 ULPs of 1.0f
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1.f, WithinULP(1.f, 0)
          </Original>
          <Expanded>
            1.0f is within 0 ULPs of 1.0f
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            -0.f, WithinULP(0.f, 0)
          </Original>
          <Expanded>
            -0.0f is within 0 ULPs of 0.0f
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            NAN, !WithinULP(NAN, 123)
          </Original>
          <Expanded>
            nanf not is within 123 ULPs of nanf
          </Expanded>
        </Expression>
        <OverallResults successes="7" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Composed" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1.f, WithinAbs(1.f, 0.5) || WithinULP(1.f, 1)
          </Original>
          <Expanded>
            1.0f ( is within 0.5 of 1.0 or is within 1 ULPs of 1.0f )
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            1.f, WithinAbs(2.f, 0.5) || WithinULP(1.f, 0)
          </Original>
          <Expanded>
            1.0f ( is within 0.5 of 2.0 or is within 0 ULPs of 1.0f )
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            NAN, !(WithinAbs(NAN, 100) || WithinULP(NAN, 123))
          </Original>
          <Expanded>
            nanf not ( is within 100.0 of nan or is within 123 ULPs of nanf )
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Constructor validation" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinAbs(1.f, 0.f)
          </Original>
          <Expanded>
            WithinAbs(1.f, 0.f)
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinAbs(1.f, -1.f), std::domain_error
          </Original>
          <Expanded>
            WithinAbs(1.f, -1.f), std::domain_error
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinULP(1.f, 0)
          </Original>
          <Expanded>
            WithinULP(1.f, 0)
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            WithinULP(1.f, -1), std::domain_error
          </Original>
          <Expanded>
            WithinULP(1.f, -1), std::domain_error
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Greater-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d >= Approx( 1.22 )
        </Original>
        <Expanded>
          1.23 >= Approx( 1.22 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
        <Original>
          !(d >= Approx( 1.24 ))
        </Original>
        <Expanded>
          !(1.23 >= Approx( 1.24 ))
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d >= Approx( 1.24 ).epsilon(0.1)
        </Original>
        <Expanded>
          1.23 >= Approx( 1.24 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="INFO and WARN do not abort tests" tags="[.][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Info>
        this is a message
      </Info>
      <Warning>
        this is a warning
      </Warning>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="INFO gets logged on failure" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Info>
        this message should be logged
      </Info>
      <Info>
        so should this
      </Info>
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          a == 1
        </Original>
        <Expanded>
          2 == 1
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="INFO gets logged on failure, even if captured before successful assertions" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Info>
        this message may be logged later
      </Info>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          a == 2
        </Original>
        <Expanded>
          2 == 2
        </Expanded>
      </Expression>
      <Info>
        this message may be logged later
      </Info>
      <Info>
        this message should be logged
      </Info>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          a == 1
        </Original>
        <Expanded>
          2 == 1
        </Expanded>
      </Expression>
      <Info>
        this message may be logged later
      </Info>
      <Info>
        this message should be logged
      </Info>
      <Info>
        and this, but later
      </Info>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          a == 0
        </Original>
        <Expanded>
          2 == 0
        </Expanded>
      </Expression>
      <Info>
        this message may be logged later
      </Info>
      <Info>
        this message should be logged
      </Info>
      <Info>
        and this, but later
      </Info>
      <Info>
        but not this
      </Info>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          a == 2
        </Original>
        <Expanded>
          2 == 2
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="INFO is reset for each loop" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Info>
        current counter 0
      </Info>
      <Info>
        i := 0
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          0 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 1
      </Info>
      <Info>
        i := 1
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          1 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 2
      </Info>
      <Info>
        i := 2
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          2 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 3
      </Info>
      <Info>
        i := 3
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          3 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 4
      </Info>
      <Info>
        i := 4
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          4 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 5
      </Info>
      <Info>
        i := 5
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          5 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 6
      </Info>
      <Info>
        i := 6
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          6 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 7
      </Info>
      <Info>
        i := 7
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          7 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 8
      </Info>
      <Info>
        i := 8
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          8 &lt; 10
        </Expanded>
      </Expression>
      <Info>
        current counter 9
      </Info>
      <Info>
        i := 9
      </Info>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.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>/UsageTests/Message.tests.cpp" >
        <Original>
          i &lt; 10
        </Original>
        <Expanded>
          10 &lt; 10
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Inequality checks that should fail" tags="[!shouldfail][.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven != 7
        </Original>
        <Expanded>
          7 != 7
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello != "hello"
        </Original>
        <Expanded>
          "hello" != "hello"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello.size() != 5
        </Original>
        <Expanded>
          5 != 5
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Inequality checks that should succeed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven != 6
        </Original>
        <Expanded>
          7 != 6
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven != 8
        </Original>
        <Expanded>
          7 != 8
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello != "goodbye"
        </Original>
        <Expanded>
          "hello" != "goodbye"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello != "hell"
        </Original>
        <Expanded>
          "hello" != "hell"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello != "hello1"
        </Original>
        <Expanded>
          "hello" != "hello1"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello.size() != 6
        </Original>
        <Expanded>
          5 != 6
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Less-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.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>/UsageTests/Approx.tests.cpp" >
        <Original>
          d &lt;= Approx( 1.22 ).epsilon(0.1)
        </Original>
        <Expanded>
          1.23 &lt;= Approx( 1.22 )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="ManuallyRegistered" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Matchers can be (AllOf) composed with the &amp;&amp; operator" tags="[matchers][operator&amp;&amp;][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Contains("string") &amp;&amp; Contains("abc") &amp;&amp; Contains("substring") &amp;&amp; Contains("contains")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" ( contains: "string" and contains: "abc" and contains: "substring" and contains: "contains" )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Matchers can be (AnyOf) composed with the || operator" tags="[matchers][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching2(), Contains("string") || Contains("different") || Contains("random")
        </Original>
        <Expanded>
          "some completely different text that contains one common word" ( contains: "string" or contains: "different" or contains: "random" )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Matchers can be composed with both &amp;&amp; and ||" tags="[matchers][operator&amp;&amp;][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), (Contains("string") || Contains("different")) &amp;&amp; Contains("substring")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "substring" )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Matchers can be composed with both &amp;&amp; and || - failing" tags="[.][.failing][matchers][operator&amp;&amp;][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), (Contains("string") || Contains("different")) &amp;&amp; Contains("random")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" ( ( contains: "string" or contains: "different" ) and contains: "random" )
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Matchers can be negated (Not) with the ! operator" tags="[matchers][not][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), !Contains("different")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" not contains: "different"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Matchers can be negated (Not) with the ! operator - failing" tags="[.][.failing][matchers][not][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), !Contains("substring")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" not contains: "substring"
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Mismatching exception messages failing the test" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="true" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows(), "expected exception"
        </Original>
        <Expanded>
          "expected exception" equals: "expected exception"
        </Expanded>
      </Expression>
      <Expression success="false" type="REQUIRE_THROWS_WITH" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows(), "should fail"
        </Original>
        <Expanded>
          "expected exception" equals: "should fail"
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Nice descriptive name" tags="[.][tag1][tag2][tag3]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Warning>
        This one ran
      </Warning>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Non-std exceptions can be translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        custom exception
      </Exception>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Objects that evaluated in boolean contexts can be checked" tags="[SafeBool][Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          True
        </Original>
        <Expanded>
          {?}
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          !False
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          !(False)
        </Original>
        <Expanded>
          !{?}
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Ordering comparison checks that should fail" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven > 7
        </Original>
        <Expanded>
          7 > 7
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt; 7
        </Original>
        <Expanded>
          7 &lt; 7
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven > 8
        </Original>
        <Expanded>
          7 > 8
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt; 6
        </Original>
        <Expanded>
          7 &lt; 6
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt; 0
        </Original>
        <Expanded>
          7 &lt; 0
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt; -1
        </Original>
        <Expanded>
          7 &lt; -1
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven >= 8
        </Original>
        <Expanded>
          7 >= 8
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt;= 6
        </Original>
        <Expanded>
          7 &lt;= 6
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.float_nine_point_one > 10
        </Original>
        <Expanded>
          9.1f > 10
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello > "hello"
        </Original>
        <Expanded>
          "hello" > "hello"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello &lt; "hello"
        </Original>
        <Expanded>
          "hello" &lt; "hello"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello > "hellp"
        </Original>
        <Expanded>
          "hello" > "hellp"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello > "z"
        </Original>
        <Expanded>
          "hello" > "z"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello &lt; "hellm"
        </Original>
        <Expanded>
          "hello" &lt; "hellm"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello &lt; "a"
        </Original>
        <Expanded>
          "hello" &lt; "a"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello >= "z"
        </Original>
        <Expanded>
          "hello" >= "z"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello &lt;= "a"
        </Original>
        <Expanded>
          "hello" &lt;= "a"
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Ordering comparison checks that should succeed" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt; 8
        </Original>
        <Expanded>
          7 &lt; 8
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven > 6
        </Original>
        <Expanded>
          7 > 6
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven > 0
        </Original>
        <Expanded>
          7 > 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven > -1
        </Original>
        <Expanded>
          7 > -1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven >= 7
        </Original>
        <Expanded>
          7 >= 7
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven >= 6
        </Original>
        <Expanded>
          7 >= 6
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt;= 7
        </Original>
        <Expanded>
          7 &lt;= 7
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.int_seven &lt;= 8
        </Original>
        <Expanded>
          7 &lt;= 8
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.float_nine_point_one > 9
        </Original>
        <Expanded>
          9.1f > 9
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.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>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello &lt;= "hello"
        </Original>
        <Expanded>
          "hello" &lt;= "hello"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello >= "hello"
        </Original>
        <Expanded>
          "hello" >= "hello"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello &lt; "hellp"
        </Original>
        <Expanded>
          "hello" &lt; "hellp"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello &lt; "zebra"
        </Original>
        <Expanded>
          "hello" &lt; "zebra"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello > "hellm"
        </Original>
        <Expanded>
          "hello" > "hellm"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          data.str_hello > "a"
        </Original>
        <Expanded>
          "hello" > "a"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Output from all sections is reported" tags="[.][failing][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Section name="one" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
          Message from section one
        </Failure>
        <OverallResults successes="0" failures="1" expectedFailures="0"/>
      </Section>
      <Section name="two" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
          Message from section two
        </Failure>
        <OverallResults successes="0" failures="1" expectedFailures="0"/>
      </Section>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Parse test names and tags" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
      <Section name="Empty test spec should have no filters" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Test spec from empty string should have no filters" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches(tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Test spec from just a comma should have no filters" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Test spec from name should have one filter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Test spec from quoted name should have one filter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Test spec from name should have one filter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Wildcard at the start" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            parseTestSpec( "*a" ).matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="6" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Wildcard at the end" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            parseTestSpec( "a*" ).matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="6" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Wildcard at both ends" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            parseTestSpec( "*a*" ).matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="6" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Redundant wildcard at the start" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Redundant wildcard at the end" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Redundant wildcard at both ends" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Wildcard at both ends, redundant at start" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Just wildcard" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Single tag" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Single tag, two matches" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Two tags" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Two tags, spare separated" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Wildcarded name and tag" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Single tag exclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="One tag exclusion and one tag inclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="One tag exclusion and one wldcarded name inclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="One tag exclusion, using exclude:, and one wldcarded name inclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="name exclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="wildcarded name exclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="wildcarded name exclusion with tag inclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="wildcarded name exclusion, using exclude:, with tag inclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="two wildcarded names" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="empty tag" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="empty quoted name" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="quoted string followed by tag exclusion" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.hasFilters() == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcA ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcB ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcC ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            spec.matches( tcD ) == true
          </Original>
          <Expanded>
            true == true
          </Expanded>
        </Expression>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Parsing a std::pair" tags="[Tricky][std::pair]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          (std::pair&lt;int, int>( 1, 2 )) == aNicePair
        </Original>
        <Expanded>
          {?} == {?}
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Pointers can be compared to null" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          p == 0
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          p == pNULL
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          p != 0
        </Original>
        <Expanded>
          0x<hex digits> != 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          cp != 0
        </Original>
        <Expanded>
          0x<hex digits> != 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          cpc != 0
        </Original>
        <Expanded>
          0x<hex digits> != 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          returnsNull() == 0
        </Original>
        <Expanded>
          {null string} == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          returnsConstNull() == 0
        </Original>
        <Expanded>
          {null string} == 0
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          0 != p
        </Original>
        <Expanded>
          0 != 0x<hex digits>
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Process can be configured on command line" tags="[command-line][config]" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
      <Section name="empty args don't cause a crash" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            result
          </Original>
          <Expanded>
            {?}
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            config.processName == ""
          </Original>
          <Expanded>
            "" == ""
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="default - no arguments" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            result
          </Original>
          <Expanded>
            {?}
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            config.processName == "test"
          </Original>
          <Expanded>
            "test" == "test"
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            config.shouldDebugBreak == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            config.abortAfter == -1
          </Original>
          <Expanded>
            -1 == -1
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            config.noThrow == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Original>
            config.reporterNames.empty()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <OverallResults successes="6" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="test lists" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="1 test" description="Specify one test case using" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              result
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cfg.testSpec().matches(fakeTestCase("notIncluded")) == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cfg.testSpec().matches(fakeTestCase("test1"))
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <OverallResults successes="3" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="test lists" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="Specify one test case exclusion using exclude:" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              result
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cfg.testSpec().matches(fakeTestCase("test1")) == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cfg.testSpec().matches(fakeTestCase("alwaysIncluded"))
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <OverallResults successes="3" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="test lists" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="Specify one test case exclusion using ~" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              result
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cfg.testSpec().matches(fakeTestCase("test1")) == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cfg.testSpec().matches(fakeTestCase("alwaysIncluded"))
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <OverallResults successes="3" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="reporter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-r/console" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-r", "console"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.reporterNames[0] == "console"
            </Original>
            <Expanded>
              "console" == "console"
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="reporter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-r/xml" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-r", "xml"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.reporterNames[0] == "xml"
            </Original>
            <Expanded>
              "xml" == "xml"
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="reporter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-r xml and junit" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-r", "xml", "-r", "junit"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.reporterNames.size() == 2
            </Original>
            <Expanded>
              2 == 2
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.reporterNames[0] == "xml"
            </Original>
            <Expanded>
              "xml" == "xml"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.reporterNames[1] == "junit"
            </Original>
            <Expanded>
              "junit" == "junit"
            </Expanded>
          </Expression>
          <OverallResults successes="4" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="reporter" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="--reporter/junit" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "--reporter", "junit"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.reporterNames[0] == "junit"
            </Original>
            <Expanded>
              "junit" == "junit"
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="debugger" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-b" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-b"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.shouldDebugBreak == true
            </Original>
            <Expanded>
              true == true
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="debugger" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="--break" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "--break"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.shouldDebugBreak
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="abort" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-a aborts after first failure" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-a"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.abortAfter == 1
            </Original>
            <Expanded>
              1 == 1
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="abort" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-x 2 aborts after two failures" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-x", "2"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.abortAfter == 2
            </Original>
            <Expanded>
              2 == 2
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="abort" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-x must be numeric" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              !result
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              result.errorMessage(), Contains("convert") &amp;&amp; Contains("oops")
            </Original>
            <Expanded>
              "Unable to convert 'oops' to destination type" ( contains: "convert" and contains: "oops" )
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="nothrow" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-e" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-e"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.noThrow
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="nothrow" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="--nothrow" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "--nothrow"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.noThrow
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="output filename" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="-o filename" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-o", "filename.ext"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.outputFilename == "filename.ext"
            </Original>
            <Expanded>
              "filename.ext" == "filename.ext"
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="output filename" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="--out" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "--out", "filename.ext"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.outputFilename == "filename.ext"
            </Original>
            <Expanded>
              "filename.ext" == "filename.ext"
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="combinations" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="Single character flags can be combined" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "-abe"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.abortAfter == 1
            </Original>
            <Expanded>
              1 == 1
            </Expanded>
          </Expression>
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.shouldDebugBreak
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.noThrow == true
            </Original>
            <Expanded>
              true == true
            </Expanded>
          </Expression>
          <OverallResults successes="4" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="without option" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.useColour == UseColour::Auto
            </Original>
            <Expanded>
              0 == 0
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="auto" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "--use-colour", "auto"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.useColour == UseColour::Auto
            </Original>
            <Expanded>
              0 == 0
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="yes" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "--use-colour", "yes"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.useColour == UseColour::Yes
            </Original>
            <Expanded>
              1 == 1
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="no" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              cli.parse({"test", "--use-colour", "no"})
            </Original>
            <Expanded>
              {?}
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              config.useColour == UseColour::No
            </Original>
            <Expanded>
              2 == 2
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="use-colour" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
        <Section name="error" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
          <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              !result
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
            <Original>
              result.errorMessage(), Contains( "colour mode must be one of" )
            </Original>
            <Expanded>
              "colour mode must be one of: auto, yes or no. 'wrong' not recognised" contains: "colour mode must be one of"
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Reconstruction should be based on stringification: #914" tags="[.][Decomposition][failing]" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Decomposition.tests.cpp" >
        <Original>
          truthy(false)
        </Original>
        <Expanded>
          Hey, its truthy!
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Regex string matcher" tags="[.][.failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Matches("this STRING contains 'abc' as a substring")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" matches "this STRING contains 'abc' as a substring" case sensitively
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Matches("contains 'abc' as a substring")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" matches "contains 'abc' as a substring" case sensitively
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Matches("this string contains 'abc' as a")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" matches "this string contains 'abc' as a" case sensitively
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="SUCCEED counts as a test pass" tags="[messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="SUCCEED does not require an argument" tags="[.][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or methods" tags="[bdd][fixtures]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
      <Section name="Given: No operations precede me" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Original>
            before == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Section name="When: We get the count" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Section name="Then: Subsequently values are higher" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Original>
                after > before
              </Original>
              <Expanded>
                1 > 0
              </Expanded>
            </Expression>
            <OverallResults successes="1" failures="0" expectedFailures="0"/>
          </Section>
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Scenario: Do that thing with the thing" tags="[Tags]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
      <Section name="Given: This stuff exists" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
        <Section name="When: I do this" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Section name="Then: it should do this" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Original>
                itDoesThis()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Section name="And: do that" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
                <Original>
                  itDoesThat()
                </Original>
                <Expanded>
                  true
                </Expanded>
              </Expression>
              <OverallResults successes="1" failures="0" expectedFailures="0"/>
            </Section>
            <OverallResults successes="2" failures="0" expectedFailures="0"/>
          </Section>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Scenario: This is a really long scenario name to see how the list command deals with wrapping" tags="[anotherReallyLongTagNameButThisOneHasNoObviousWrapPointsSoShouldSplitWithinAWordUsingADashCharacter][long][lots][one very long tag name that should cause line wrapping writing out using the list command][tags][verbose][very long tags]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
      <Section name="Given: A section name that is so long that it cannot fit in a single console width" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
        <Section name="When: The test headers are printed as part of the normal running of the scenario" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Section name="Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
            <OverallResults successes="1" failures="0" expectedFailures="0"/>
          </Section>
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Scenario: Vector resizing affects size and capacity" tags="[bdd][capacity][size][vector]" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
      <Section name="Given: an empty vector" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Original>
            v.size() == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Section name="When: it is made larger" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Section name="Then: the size and capacity go up" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Original>
                v.size() == 10
              </Original>
              <Expanded>
                10 == 10
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Original>
                v.capacity() >= 10
              </Original>
              <Expanded>
                10 >= 10
              </Expanded>
            </Expression>
            <Section name="And when: it is made smaller again" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Section name="Then: the size goes down but the capacity stays the same" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
                <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
                  <Original>
                    v.size() == 5
                  </Original>
                  <Expanded>
                    5 == 5
                  </Expanded>
                </Expression>
                <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
                  <Original>
                    v.capacity() >= 10
                  </Original>
                  <Expanded>
                    10 >= 10
                  </Expanded>
                </Expression>
                <OverallResults successes="2" failures="0" expectedFailures="0"/>
              </Section>
              <OverallResults successes="2" failures="0" expectedFailures="0"/>
            </Section>
            <OverallResults successes="4" failures="0" expectedFailures="0"/>
          </Section>
          <OverallResults successes="4" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="5" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Given: an empty vector" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Original>
            v.size() == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Section name="When: we reserve more space" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
          <Section name="Then: The capacity is increased but the size remains the same" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Original>
                v.capacity() >= 10
              </Original>
              <Expanded>
                10 >= 10
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/BDD.tests.cpp" >
              <Original>
                v.size() == 0
              </Original>
              <Expanded>
                0 == 0
              </Expanded>
            </Expression>
            <OverallResults successes="2" failures="0" expectedFailures="0"/>
          </Section>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Sends stuff to stdout and stderr" tags="[.]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="false">
        <StdOut>
A string sent directly to stdout
        </StdOut>
        <StdErr>
A string sent directly to stderr
A string sent to stderr via clog
        </StdErr>
      </OverallResult>
    </TestCase>
    <TestCase name="Some simple comparisons between doubles" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d == Approx( 1.23 )
        </Original>
        <Expanded>
          1.23 == Approx( 1.23 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d != Approx( 1.22 )
        </Original>
        <Expanded>
          1.23 != Approx( 1.22 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d != Approx( 1.24 )
        </Original>
        <Expanded>
          1.23 != Approx( 1.24 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx( d ) == 1.23
        </Original>
        <Expanded>
          Approx( 1.23 ) == 1.23
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx( d ) != 1.22
        </Original>
        <Expanded>
          Approx( 1.23 ) != 1.22
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          Approx( d ) != 1.24
        </Original>
        <Expanded>
          Approx( 1.23 ) != 1.24
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          INFINITY == Approx(INFINITY)
        </Original>
        <Expanded>
          inff == Approx( inf )
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Standard output from all sections is reported" tags="[.][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Section name="one" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <OverallResults successes="0" failures="1" expectedFailures="0"/>
      </Section>
      <Section name="two" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <OverallResults successes="0" failures="1" expectedFailures="0"/>
      </Section>
      <OverallResult success="false">
        <StdOut>
Message from section one
Message from section two
        </StdOut>
      </OverallResult>
    </TestCase>
    <TestCase name="StartsWith string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), StartsWith("This String")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" starts with: "This String"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), StartsWith("string", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" starts with: "string" (case insensitive)
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Static arrays are convertible to string" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
      <Section name="Single item" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify(singular) == "{ 1 }"
          </Original>
          <Expanded>
            "{ 1 }" == "{ 1 }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Multiple" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify(arr) == "{ 3, 2, 1 }"
          </Original>
          <Expanded>
            "{ 3, 2, 1 }" == "{ 3, 2, 1 }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Non-trivial inner items" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify(arr) == R"({ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } })"
          </Original>
          <Expanded>
            "{ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } }"
==
"{ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="String matchers" tags="[matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Contains("string")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" contains: "string"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Contains("string", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" contains: "string" (case insensitive)
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), Contains("aBC", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" contains: "abc" (case insensitive)
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.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>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), StartsWith("THIS", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" starts with: "this" (case insensitive)
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), EndsWith("substring")
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" ends with: "substring"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Original>
          testStringForMatching(), EndsWith(" SuBsTrInG", Catch::CaseSensitive::No)
        </Original>
        <Expanded>
          "this string contains 'abc' as a substring" ends with: " substring" (case insensitive)
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="StringRef" tags="[Strings]" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
      <Section name="Empty string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            empty.empty()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            empty.size() == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            std::strcmp( empty.c_str(), "" ) == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="From string literal" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            s.empty() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            s.size() == 5
          </Original>
          <Expanded>
            5 == 5
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            isSubstring( s ) == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            std::strcmp( rawChars, "hello" ) == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Section name="c_str() does not cause copy" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              isOwned( s ) == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              s.c_str() == rawChars
            </Original>
            <Expanded>
              "hello" == "hello"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              isOwned( s ) == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <OverallResults successes="3" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="7" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="From sub-string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            original == "original"
          </Original>
          <Expanded>
            original == "original"
          </Expanded>
        </Expression>
        <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            isSubstring( original )
          </Original>
          <Expanded>
            false
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="1" expectedFailures="0"/>
      </Section>
      <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="zero-based substring" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              ss.empty() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              ss.size() == 5
            </Original>
            <Expanded>
              5 == 5
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              std::strcmp( ss.c_str(), "hello" ) == 0
            </Original>
            <Expanded>
              0 == 0
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              ss == "hello"
            </Original>
            <Expanded>
              hello == "hello"
            </Expanded>
          </Expression>
          <OverallResults successes="4" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="c_str() causes copy" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              isSubstring( ss )
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              isOwned( ss ) == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              rawChars == data( s )
            </Original>
            <Expanded>
              "hello world!" == "hello world!"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              ss.c_str() != rawChars
            </Original>
            <Expanded>
              "hello" != "hello world!"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              isSubstring( ss ) == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              isOwned( ss )
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              data( ss ) != data( s )
            </Original>
            <Expanded>
              "hello" != "hello world!"
            </Expanded>
          </Expression>
          <OverallResults successes="7" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="7" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="non-zero-based substring" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              ss.size() == 6
            </Original>
            <Expanded>
              6 == 6
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              std::strcmp( ss.c_str(), "world!" ) == 0
            </Original>
            <Expanded>
              0 == 0
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="Pointer values of full refs should match" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              s.c_str() == s2.c_str()
            </Original>
            <Expanded>
              "hello world!" == "hello world!"
            </Expanded>
          </Expression>
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Substrings" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="Pointer values of substring refs should not match" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              s.c_str() != ss.c_str()
            </Original>
            <Expanded>
              "hello world!" != "hello"
            </Expanded>
          </Expression>
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Comparisons" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            StringRef("hello") == StringRef("hello")
          </Original>
          <Expanded>
            hello == hello
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            StringRef("hello") != StringRef("cello")
          </Original>
          <Expanded>
            hello != cello
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="from std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="implicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              sr == "a standard string"
            </Original>
            <Expanded>
              a standard string == "a standard string"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              sr.size() == stdStr.size()
            </Original>
            <Expanded>
              17 == 17
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="from std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="explicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              sr == "a standard string"
            </Original>
            <Expanded>
              a standard string == "a standard string"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              sr.size() == stdStr.size()
            </Original>
            <Expanded>
              17 == 17
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="from std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="assigned" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              sr == "a standard string"
            </Original>
            <Expanded>
              a standard string == "a standard string"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              sr.size() == stdStr.size()
            </Original>
            <Expanded>
              17 == 17
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="to std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="implicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              stdStr == "a stringref"
            </Original>
            <Expanded>
              "a stringref" == "a stringref"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              stdStr.size() == sr.size()
            </Original>
            <Expanded>
              11 == 11
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="to std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="explicitly constructed" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              stdStr == "a stringref"
            </Original>
            <Expanded>
              "a stringref" == "a stringref"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              stdStr.size() == sr.size()
            </Original>
            <Expanded>
              11 == 11
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="to std::string" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Section name="assigned" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              stdStr == "a stringref"
            </Original>
            <Expanded>
              "a stringref" == "a stringref"
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
            <Original>
              stdStr.size() == sr.size()
            </Original>
            <Expanded>
              11 == 11
            </Expanded>
          </Expression>
          <OverallResults successes="2" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Stringifying std::chrono::duration helpers" tags="[chrono][toString]" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
        <Original>
          minute == seconds
        </Original>
        <Expanded>
          1 m == 60 s
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
        <Original>
          hour != seconds
        </Original>
        <Expanded>
          1 h != 60 s
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
        <Original>
          micro != milli
        </Original>
        <Expanded>
          1 us != 1 ms
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
        <Original>
          nano != micro
        </Original>
        <Expanded>
          1 ns != 1 us
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Stringifying std::chrono::duration with weird ratios" tags="[chrono][toString]" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
        <Original>
          half_minute != femto_second
        </Original>
        <Expanded>
          1 [30/1]s != 1 fs
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
        <Original>
          pico_second != atto_second
        </Original>
        <Expanded>
          1 ps != 1 as
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Stringifying std::chrono::time_point&lt;system_clock>" tags="[chrono][toString]" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringChrono.tests.cpp" >
        <Original>
          now != later
        </Original>
        <Expanded>
          {iso8601-timestamp}
!=
{iso8601-timestamp}
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Tabs and newlines show in output" tags="[.][failing][whitespace]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          s1 == s2
        </Original>
        <Expanded>
          "if ($b == 10) {
		$a	= 20;
}"
==
"if ($b == 10) {
	$a = 20;
}
"
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Tag alias can be registered against tag patterns" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" >
      <Section name="The same tag alias can only be registered once" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" >
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.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>/IntrospectiveTests/TagAlias.tests.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>/IntrospectiveTests/TagAlias.tests.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>/IntrospectiveTests/TagAlias.tests.cpp" >
          <Original>
            what, Contains( "10" )
          </Original>
          <Expanded>
            "error: tag alias, '[@zzz]' already registered.
	First seen at: file:2
	Redefined at: file:10" contains: "10"
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Tag aliases must be of the form [@name]" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" >
        <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.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>/IntrospectiveTests/TagAlias.tests.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>/IntrospectiveTests/TagAlias.tests.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>/IntrospectiveTests/TagAlias.tests.cpp" >
          <Original>
            registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) )
          </Original>
          <Expanded>
            registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) )
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Test case with one argument" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Test enum bit values" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          0x<hex digits> == bit30and31
        </Original>
        <Expanded>
          3221225472 (0x<hex digits>) == 3221225472
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="The NO_FAIL macro reports a failure but does not fail the test" tags="[messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Expression success="false" type="CHECK_NOFAIL" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          1 == 2
        </Original>
        <Expanded>
          1 == 2
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="This test 'should' fail but doesn't" tags="[!shouldfail][.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Tracker" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="successfully close one section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isSuccessfullyCompleted()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            ctx.completedCycle()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="fail one section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isComplete()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isSuccessfullyCompleted() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            ctx.completedCycle()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isSuccessfullyCompleted() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Section name="re-enter after failed section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase2.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s1b.isOpen() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              ctx.completedCycle()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase.isComplete()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="fail one section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isComplete()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isSuccessfullyCompleted() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            ctx.completedCycle()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isSuccessfullyCompleted() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Section name="re-enter after failed section and find next section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase2.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s1b.isOpen() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              ctx.completedCycle()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase.isComplete()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="successfully close one section, then find another" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s2.isOpen() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Section name="Re-enter - skips S1 and enters S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase2.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s1b.isOpen() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2b.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              ctx.completedCycle() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Section name="Successfully close S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                ctx.completedCycle()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2b.isSuccessfullyCompleted()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase2.isComplete() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="successfully close one section, then find another" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s2.isOpen() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Section name="Re-enter - skips S1 and enters S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase2.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s1b.isOpen() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2b.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              ctx.completedCycle() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Section name="fail S2" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                ctx.completedCycle()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2b.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2b.isSuccessfullyCompleted() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase2.isSuccessfullyCompleted() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase3.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1c.isOpen() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2c.isOpen() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="open a nested section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s2.isOpen()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s2.isComplete()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isComplete()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            testCase.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="start a generator" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.isOpen()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.index() == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Section name="close outer section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s1.isComplete() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase.isSuccessfullyCompleted() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Section name="Re-enter for second generation" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase2.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1b.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.index() == 1
              </Original>
              <Expanded>
                1 == 1
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1.isComplete() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1b.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="start a generator" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.isOpen()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.index() == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Section name="Start a new inner section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2.isComplete()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s1.isComplete() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase.isComplete() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Section name="Re-enter for second generation" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase2.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1b.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.index() == 1
              </Original>
              <Expanded>
                1 == 1
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2b.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2b.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1b.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.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>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          testCase.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Original>
          s1.isOpen()
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Section name="start a generator" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.isOpen()
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.index() == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            g1.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Original>
            s1.isComplete() == false
          </Original>
          <Expanded>
            false == false
          </Expanded>
        </Expression>
        <Section name="Fail an inner section" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2.isOpen()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2.isComplete()
            </Original>
            <Expanded>
              true
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s2.isSuccessfullyCompleted() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              s1.isComplete() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Original>
              testCase.isComplete() == false
            </Original>
            <Expanded>
              false == false
            </Expanded>
          </Expression>
          <Section name="Re-enter for second generation" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase2.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1b.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.index() == 0
              </Original>
              <Expanded>
                0 == 0
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2b.isOpen() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1b.isComplete() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1b.isComplete() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase2.isComplete() == false
              </Original>
              <Expanded>
                false == false
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase3.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1c.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1c.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1c.index() == 1
              </Original>
              <Expanded>
                1 == 1
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2c.isOpen()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s2c.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                g1c.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                s1c.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/PartTracker.tests.cpp" >
              <Original>
                testCase3.isComplete()
              </Original>
              <Expanded>
                true
              </Expanded>
            </Expression>
            <OverallResults successes="17" failures="0" expectedFailures="0"/>
          </Section>
          <OverallResults successes="22" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="26" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Unexpected exceptions can be translated" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        3.14
      </Exception>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Use a custom approx" tags="[Approx][custom]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d == approx( 1.23 )
        </Original>
        <Expanded>
          1.23 == Approx( 1.23 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d == approx( 1.22 )
        </Original>
        <Expanded>
          1.23 == Approx( 1.22 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d == approx( 1.24 )
        </Original>
        <Expanded>
          1.23 == Approx( 1.24 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          d != approx( 1.25 )
        </Original>
        <Expanded>
          1.23 != Approx( 1.25 )
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          approx( d ) == 1.23
        </Original>
        <Expanded>
          Approx( 1.23 ) == 1.23
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          approx( d ) == 1.22
        </Original>
        <Expanded>
          Approx( 1.23 ) == 1.22
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          approx( d ) == 1.24
        </Original>
        <Expanded>
          Approx( 1.23 ) == 1.24
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" >
        <Original>
          approx( d ) != 1.25
        </Original>
        <Expanded>
          Approx( 1.23 ) != 1.25
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Variadic macros" tags="[sections][variadic]" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" >
      <Section name="Section with one argument" filename="projects/<exe-name>/UsageTests/VariadicMacros.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Vector matchers" tags="[matchers][vector]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Section name="Contains (element)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, VectorContains(1)
          </Original>
          <Expanded>
            { 1, 2, 3 } Contains: 1
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, VectorContains(2)
          </Original>
          <Expanded>
            { 1, 2, 3 } Contains: 2
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Contains (vector)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Contains(v2)
          </Original>
          <Expanded>
            { 1, 2, 3 } Contains: { 1, 2 }
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Contains(v2)
          </Original>
          <Expanded>
            { 1, 2, 3 } Contains: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Contains(empty)
          </Original>
          <Expanded>
            { 1, 2, 3 } Contains: {  }
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            empty, Contains(empty)
          </Original>
          <Expanded>
            {  } Contains: {  }
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Contains (element), composed" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, VectorContains(1) &amp;&amp; VectorContains(2)
          </Original>
          <Expanded>
            { 1, 2, 3 } ( Contains: 1 and Contains: 2 )
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="Equals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Equals(v)
          </Original>
          <Expanded>
            { 1, 2, 3 } Equals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            empty, Equals(empty)
          </Original>
          <Expanded>
            {  } Equals: {  }
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Equals(v2)
          </Original>
          <Expanded>
            { 1, 2, 3 } Equals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="UnorderedEquals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, UnorderedEquals(v)
          </Original>
          <Expanded>
            { 1, 2, 3 } UnorderedEquals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            empty, UnorderedEquals(empty)
          </Original>
          <Expanded>
            {  } UnorderedEquals: {  }
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            permuted, UnorderedEquals(v)
          </Original>
          <Expanded>
            { 1, 3, 2 } UnorderedEquals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            permuted, UnorderedEquals(v)
          </Original>
          <Expanded>
            { 2, 3, 1 } UnorderedEquals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <OverallResults successes="4" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="Vector matchers that fail" tags="[.][failing][matchers][vector]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
      <Section name="Contains (element)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, VectorContains(-1)
          </Original>
          <Expanded>
            { 1, 2, 3 } Contains: -1
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            empty, VectorContains(1)
          </Original>
          <Expanded>
            {  } Contains: 1
          </Expanded>
        </Expression>
        <OverallResults successes="0" failures="2" expectedFailures="0"/>
      </Section>
      <Section name="Contains (vector)" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            empty, Contains(v)
          </Original>
          <Expanded>
            {  } Contains: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Contains(v2)
          </Original>
          <Expanded>
            { 1, 2, 3 } Contains: { 1, 2, 4 }
          </Expanded>
        </Expression>
        <OverallResults successes="0" failures="2" expectedFailures="0"/>
      </Section>
      <Section name="Equals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Equals(v2)
          </Original>
          <Expanded>
            { 1, 2, 3 } Equals: { 1, 2 }
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v2, Equals(v)
          </Original>
          <Expanded>
            { 1, 2 } Equals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            empty, Equals(v)
          </Original>
          <Expanded>
            {  } Equals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, Equals(empty)
          </Original>
          <Expanded>
            { 1, 2, 3 } Equals: {  }
          </Expanded>
        </Expression>
        <OverallResults successes="0" failures="4" expectedFailures="0"/>
      </Section>
      <Section name="UnorderedEquals" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            v, UnorderedEquals(empty)
          </Original>
          <Expanded>
            { 1, 2, 3 } UnorderedEquals: {  }
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            empty, UnorderedEquals(v)
          </Original>
          <Expanded>
            {  } UnorderedEquals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            permuted, UnorderedEquals(v)
          </Original>
          <Expanded>
            { 1, 3 } UnorderedEquals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" >
          <Original>
            permuted, UnorderedEquals(v)
          </Original>
          <Expanded>
            { 3, 1 } UnorderedEquals: { 1, 2, 3 }
          </Expanded>
        </Expression>
        <OverallResults successes="0" failures="4" expectedFailures="0"/>
      </Section>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="When checked exceptions are thrown they can be expected or unexpected" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="true" type="REQUIRE_THROWS_AS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows(), std::domain_error
        </Original>
        <Expanded>
          thisThrows(), std::domain_error
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_NOTHROW" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisDoesntThrow()
        </Original>
        <Expanded>
          thisDoesntThrow()
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE_THROWS" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows()
        </Original>
        <Expanded>
          thisThrows()
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="When unchecked exceptions are thrown directly they are always failures" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        unexpected exception
      </Exception>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="When unchecked exceptions are thrown during a CHECK the test should continue" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows() == 0
        </Original>
        <Expanded>
          thisThrows() == 0
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          expected exception
        </Exception>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="When unchecked exceptions are thrown during a REQUIRE the test should abort fail" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows() == 0
        </Original>
        <Expanded>
          thisThrows() == 0
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          expected exception
        </Exception>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="When unchecked exceptions are thrown from functions they are always failures" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Original>
          thisThrows() == 0
        </Original>
        <Expanded>
          thisThrows() == 0
        </Expanded>
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          expected exception
        </Exception>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="When unchecked exceptions are thrown from sections they are always failures" tags="[!throws][.][failing]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <Section name="section name" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
        <Exception filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
          unexpected exception
        </Exception>
        <OverallResults successes="0" failures="1" expectedFailures="0"/>
      </Section>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="When unchecked exceptions are thrown, but caught, they do not affect the test" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Exception.tests.cpp" >
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Where the LHS is not a simple value" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Warning>
        Uncomment the code in this test to check that it gives a sensible compiler error
      </Warning>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="Where there is more to the expression after the RHS" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Warning>
        Uncomment the code in this test to check that it gives a sensible compiler error
      </Warning>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="X/level/0/a" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="X/level/0/b" tags="[Tricky][fizz]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="X/level/1/a" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="X/level/1/b" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="XmlEncode" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
      <Section name="normal string" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "normal string" ) == "normal string"
          </Original>
          <Expanded>
            "normal string" == "normal string"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="empty string" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "" ) == ""
          </Original>
          <Expanded>
            "" == ""
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="string with ampersand" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "smith &amp; jones" ) == "smith &amp;amp; jones"
          </Original>
          <Expanded>
            "smith &amp;amp; jones" == "smith &amp;amp; jones"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="string with less-than" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "smith &lt; jones" ) == "smith &amp;lt; jones"
          </Original>
          <Expanded>
            "smith &amp;lt; jones" == "smith &amp;lt; jones"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="string with greater-than" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "smith > jones" ) == "smith > jones"
          </Original>
          <Expanded>
            "smith > jones" == "smith > jones"
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "smith ]]&gt; jones" ) == "smith ]]&amp;gt; jones"
          </Original>
          <Expanded>
            "smith ]]&amp;gt; jones"
==
"smith ]]&amp;gt; jones"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="string with quotes" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.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>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( stringWithQuotes, Catch::XmlEncode::ForAttributes ) == "don't &amp;quot;quote&amp;quot; me on that"
          </Original>
          <Expanded>
            "don't &amp;quot;quote&amp;quot; me on that"
==
"don't &amp;quot;quote&amp;quot; me on that"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="string with control char (1)" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "[\x01]" ) == "[\\x01]"
          </Original>
          <Expanded>
            "[\x01]" == "[\x01]"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="string with control char (x7F)" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/Xml.tests.cpp" >
          <Original>
            encode( "[\x7F]" ) == "[\\x7F]"
          </Original>
          <Expanded>
            "[\x7F]" == "[\x7F]"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="array&lt;int, N> -> toString" tags="[array][containers][toString]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          Catch::Detail::stringify( empty ) == "{  }"
        </Original>
        <Expanded>
          "{  }" == "{  }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          Catch::Detail::stringify( oneValue ) == "{ 42 }"
        </Original>
        <Expanded>
          "{ 42 }" == "{ 42 }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          Catch::Detail::stringify( twoValues ) == "{ 42, 250 }"
        </Original>
        <Expanded>
          "{ 42, 250 }" == "{ 42, 250 }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="atomic if" tags="[0][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          x == 0
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="boolean member" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          obj.prop != 0
        </Original>
        <Expanded>
          0x<hex digits> != 0
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="checkedElse" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="CHECKED_ELSE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          flag
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          testCheckedElse( true )
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="checkedElse, failing" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="false" type="CHECKED_ELSE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          flag
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          testCheckedElse( false )
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="checkedIf" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="CHECKED_IF" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          flag
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          testCheckedIf( true )
        </Original>
        <Expanded>
          true
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="checkedIf, failing" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="false" type="CHECKED_IF" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          flag
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          testCheckedIf( false )
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="comparisons between const int variables" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          unsigned_char_var == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          unsigned_short_var == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          unsigned_int_var == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          unsigned_long_var == 1
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="comparisons between int variables" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          long_var == unsigned_char_var
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          long_var == unsigned_short_var
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          long_var == unsigned_int_var
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Condition.tests.cpp" >
        <Original>
          long_var == unsigned_long_var
        </Original>
        <Expanded>
          1 == 1
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="even more nested SECTION tests" tags="[sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="c" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Section name="d (leaf)" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="c" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Section name="e (leaf)" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="f (leaf)" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="first tag" tags="[tag1]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="has printf" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
loose text artifact
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="just failure" tags="[.][fail][isolated info][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Failure filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        Previous info should not be seen
      </Failure>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="just info" tags="[info][isolated info][messages]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="long long" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          l == std::numeric_limits&lt;long long>::max()
        </Original>
        <Expanded>
          9223372036854775807 (0x<hex digits>)
==
9223372036854775807 (0x<hex digits>)
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="looped SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="s1" description="b is currently: 0" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            b > a
          </Original>
          <Expanded>
            0 > 1
          </Expanded>
        </Expression>
        <OverallResults successes="0" failures="1" expectedFailures="0"/>
      </Section>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="looped tests" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Info>
        Testing if fib[0] (1) is even
      </Info>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.cpp" >
        <Original>
          ( fib[i] % 2 ) == 0
        </Original>
        <Expanded>
          1 == 0
        </Expanded>
      </Expression>
      <Info>
        Testing if fib[2] (2) is even
      </Info>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.cpp" >
        <Original>
          ( fib[i] % 2 ) == 0
        </Original>
        <Expanded>
          1 == 0
        </Expanded>
      </Expression>
      <Info>
        Testing if fib[5] (8) is even
      </Info>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.cpp" >
        <Original>
          ( fib[i] % 2 ) == 0
        </Original>
        <Expanded>
          1 == 0
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="more nested SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="s1" description="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Section name="s2" description="equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
            <Original>
              a == b
            </Original>
            <Expanded>
              1 == 2
            </Expanded>
          </Expression>
          <OverallResults successes="0" failures="1" expectedFailures="0"/>
        </Section>
        <OverallResults successes="0" failures="1" expectedFailures="0"/>
      </Section>
      <Section name="s1" description="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Section name="s3" description="not equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
            <Original>
              a != b
            </Original>
            <Expanded>
              1 != 2
            </Expanded>
          </Expression>
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="s1" description="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Section name="s4" description="less than" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
            <Original>
              a &lt; b
            </Original>
            <Expanded>
              1 &lt; 2
            </Expanded>
          </Expression>
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="nested SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="s1" description="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            a != b
          </Original>
          <Expanded>
            1 != 2
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            b != a
          </Original>
          <Expanded>
            2 != 1
          </Expanded>
        </Expression>
        <Section name="s2" description="not equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
            <Original>
              a != b
            </Original>
            <Expanded>
              1 != 2
            </Expanded>
          </Expression>
          <OverallResults successes="1" failures="0" expectedFailures="0"/>
        </Section>
        <OverallResults successes="3" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="non streamable - with conv. op" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          s == "7"
        </Original>
        <Expanded>
          "7" == "7"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="non-copyable objects" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          ti == typeid(int)
        </Original>
        <Expanded>
          {?} == {?}
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="not allowed" tags="[!throws]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="null strings" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.cpp" >
        <Original>
          makeString( true ) == static_cast&lt;char*>(0)
        </Original>
        <Expanded>
          {null string} == {null string}
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="null_ptr" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          ptr.get() == 0
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="pair&lt;pair&lt;int,const char *,pair&lt;std::string,int> > -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }"
        </Original>
        <Expanded>
          "{ { 42, "Arthur" }, { "Ford", 24 } }"
==
"{ { 42, "Arthur" }, { "Ford", 24 } }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="pointer to class" tags="[Tricky]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          p == 0
        </Original>
        <Expanded>
          0 == 0
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="random SECTION tests" tags="[.][failing][sections]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="s1" description="doesn't equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            a != b
          </Original>
          <Expanded>
            1 != 2
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            b != a
          </Original>
          <Expanded>
            2 != 1
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="s2" description="not equal" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            a != b
          </Original>
          <Expanded>
            1 != 2
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="replaceInPlace" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
      <Section name="replace single char" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            Catch::replaceInPlace( letters, "b", "z" )
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            letters == "azcdefcg"
          </Original>
          <Expanded>
            "azcdefcg" == "azcdefcg"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="replace two chars" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            Catch::replaceInPlace( letters, "c", "z" )
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            letters == "abzdefzg"
          </Original>
          <Expanded>
            "abzdefzg" == "abzdefzg"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="replace first char" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            Catch::replaceInPlace( letters, "a", "z" )
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            letters == "zbcdefcg"
          </Original>
          <Expanded>
            "zbcdefcg" == "zbcdefcg"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="replace last char" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            Catch::replaceInPlace( letters, "g", "z" )
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            letters == "abcdefcz"
          </Original>
          <Expanded>
            "abcdefcz" == "abcdefcz"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="replace all chars" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            Catch::replaceInPlace( letters, letters, "replaced" )
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            letters == "replaced"
          </Original>
          <Expanded>
            "replaced" == "replaced"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="replace no chars" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="CHECK_FALSE" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            !(Catch::replaceInPlace( letters, "x", "z" ))
          </Original>
          <Expanded>
            !false
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            letters == letters
          </Original>
          <Expanded>
            "abcdefcg" == "abcdefcg"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="escape '" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            Catch::replaceInPlace( s, "'", "|'" )
          </Original>
          <Expanded>
            true
          </Expanded>
        </Expression>
        <Expression success="true" type="CHECK" filename="projects/<exe-name>/IntrospectiveTests/String.tests.cpp" >
          <Original>
            s == "didn|'t"
          </Original>
          <Expanded>
            "didn|'t" == "didn|'t"
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="second tag" tags="[tag2]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="send a single char to INFO" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Info>
        3
      </Info>
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          false
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="sends information to INFO" tags="[.][failing]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
      <Info>
        hi
      </Info>
      <Info>
        i := 7
      </Info>
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" >
        <Original>
          false
        </Original>
        <Expanded>
          false
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="std::map is convertible string" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
      <Section name="empty" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify( emptyMap ) == "{  }"
          </Original>
          <Expanded>
            "{  }" == "{  }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="single item" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify( map ) == "{ { \"one\", 1 } }"
          </Original>
          <Expanded>
            "{ { "one", 1 } }" == "{ { "one", 1 } }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="several items" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify( map ) == "{ { \"abc\", 1 }, { \"def\", 2 }, { \"ghi\", 3 } }"
          </Original>
          <Expanded>
            "{ { "abc", 1 }, { "def", 2 }, { "ghi", 3 } }"
==
"{ { "abc", 1 }, { "def", 2 }, { "ghi", 3 } }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="std::pair&lt;int,const std::string> -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(value) == "{ 34, \"xyzzy\" }"
        </Original>
        <Expanded>
          "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="std::pair&lt;int,std::string> -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( value ) == "{ 34, \"xyzzy\" }"
        </Original>
        <Expanded>
          "{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="std::set is convertible string" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
      <Section name="empty" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify( emptySet ) == "{  }"
          </Original>
          <Expanded>
            "{  }" == "{  }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="single item" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify( set ) == "{ \"one\" }"
          </Original>
          <Expanded>
            "{ "one" }" == "{ "one" }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="several items" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringGeneral.tests.cpp" >
          <Original>
            Catch::Detail::stringify( set ) == "{ \"abc\", \"def\", \"ghi\" }"
          </Original>
          <Expanded>
            "{ "abc", "def", "ghi" }"
==
"{ "abc", "def", "ghi" }"
          </Expanded>
        </Expression>
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="std::vector&lt;std::pair&lt;std::string,int> > -> toString" tags="[pair][toString]" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringPair.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( pr ) == "{ { \"green\", 55 } }"
        </Original>
        <Expanded>
          "{ { "green", 55 } }"
==
"{ { "green", 55 } }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="string literals of different sizes can be compared" tags="[.][Tricky][failing]" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
      <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
        <Original>
          std::string( "first" ) == "second"
        </Original>
        <Expanded>
          "first" == "second"
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="stringify( has_maker )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( item ) == "StringMaker&lt;has_maker>"
        </Original>
        <Expanded>
          "StringMaker&lt;has_maker>"
==
"StringMaker&lt;has_maker>"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="stringify( has_maker_and_toString )" tags="[.][toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( item ) == "StringMaker&lt;has_maker_and_operator>"
        </Original>
        <Expanded>
          "StringMaker&lt;has_maker_and_operator>"
==
"StringMaker&lt;has_maker_and_operator>"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="stringify( has_operator )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( item ) == "operator&lt;&lt;( has_operator )"
        </Original>
        <Expanded>
          "operator&lt;&lt;( has_operator )"
==
"operator&lt;&lt;( has_operator )"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString on const wchar_t const pointer returns the string contents" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          result == "\"wide load\""
        </Original>
        <Expanded>
          ""wide load"" == ""wide load""
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString on const wchar_t pointer returns the string contents" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          result == "\"wide load\""
        </Original>
        <Expanded>
          ""wide load"" == ""wide load""
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString on wchar_t const pointer returns the string contents" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          result == "\"wide load\""
        </Original>
        <Expanded>
          ""wide load"" == ""wide load""
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString on wchar_t returns the string contents" tags="[toString]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          result == "\"wide load\""
        </Original>
        <Expanded>
          ""wide load"" == ""wide load""
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString streamable range" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(streamable_range{}) == "op&lt;&lt;(streamable_range)"
        </Original>
        <Expanded>
          "op&lt;&lt;(streamable_range)"
==
"op&lt;&lt;(streamable_range)"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(stringmaker_range{}) == "stringmaker(streamable_range)"
        </Original>
        <Expanded>
          "stringmaker(streamable_range)"
==
"stringmaker(streamable_range)"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(just_range{}) == "{ 1, 2, 3, 4 }"
        </Original>
        <Expanded>
          "{ 1, 2, 3, 4 }" == "{ 1, 2, 3, 4 }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(disabled_range{}) == "{?}"
        </Original>
        <Expanded>
          "{?}" == "{?}"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString( vectors&lt;has_maker> )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( v ) == "{ StringMaker&lt;has_maker> }"
        </Original>
        <Expanded>
          "{ StringMaker&lt;has_maker> }"
==
"{ StringMaker&lt;has_maker> }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString( vectors&lt;has_maker_and_operator> )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( v ) == "{ StringMaker&lt;has_maker_and_operator> }"
        </Original>
        <Expanded>
          "{ StringMaker&lt;has_maker_and_operator> }"
==
"{ StringMaker&lt;has_maker_and_operator> }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString( vectors&lt;has_operator> )" tags="[toString]" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringWhich.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify( v ) == "{ operator&lt;&lt;( has_operator ) }"
        </Original>
        <Expanded>
          "{ operator&lt;&lt;( has_operator ) }"
==
"{ operator&lt;&lt;( has_operator ) }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString(enum class w/operator&lt;&lt;)" tags="[enum][enumClass][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e0) == "E2/V0"
        </Original>
        <Expanded>
          "E2/V0" == "E2/V0"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e1) == "E2/V1"
        </Original>
        <Expanded>
          "E2/V1" == "E2/V1"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e3) == "Unknown enum value 10"
        </Original>
        <Expanded>
          "Unknown enum value 10"
==
"Unknown enum value 10"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString(enum class)" tags="[enum][enumClass][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e0) == "0"
        </Original>
        <Expanded>
          "0" == "0"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e1) == "1"
        </Original>
        <Expanded>
          "1" == "1"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString(enum w/operator&lt;&lt;)" tags="[enum][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e0) == "E2{0}"
        </Original>
        <Expanded>
          "E2{0}" == "E2{0}"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e1) == "E2{1}"
        </Original>
        <Expanded>
          "E2{1}" == "E2{1}"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="toString(enum)" tags="[enum][toString]" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e0) == "0"
        </Original>
        <Expanded>
          "0" == "0"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e1) == "1"
        </Original>
        <Expanded>
          "1" == "1"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="tuple&lt;>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "{ }" == ::Catch::Detail::stringify(type{})
        </Original>
        <Expanded>
          "{ }" == "{ }"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "{ }" == ::Catch::Detail::stringify(value)
        </Original>
        <Expanded>
          "{ }" == "{ }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="tuple&lt;float,int>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "1.2f" == ::Catch::Detail::stringify(float(1.2))
        </Original>
        <Expanded>
          "1.2f" == "1.2f"
        </Expanded>
      </Expression>
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0})
        </Original>
        <Expanded>
          "{ 1.2f, 0 }" == "{ 1.2f, 0 }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="tuple&lt;int>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "{ 0 }" == ::Catch::Detail::stringify(type{0})
        </Original>
        <Expanded>
          "{ 0 }" == "{ 0 }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="tuple&lt;0,int,const char *>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value)
        </Original>
        <Expanded>
          "{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="tuple&lt;string,string>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"})
        </Original>
        <Expanded>
          "{ "hello", "world" }"
==
"{ "hello", "world" }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>" tags="[toString][tuple]" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
      <Expression success="true" type="CHECK" filename="projects/<exe-name>/UsageTests/ToStringTuple.tests.cpp" >
        <Original>
          "{ { 42 }, { }, 1.2f }" == ::Catch::Detail::stringify(value)
        </Original>
        <Expanded>
          "{ { 42 }, { }, 1.2f }"
==
"{ { 42 }, { }, 1.2f }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="vec&lt;vec&lt;string,alloc>> -> toString" tags="[toString][vector,allocator]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(v) == "{  }"
        </Original>
        <Expanded>
          "{  }" == "{  }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(v) == "{ { \"hello\" }, { \"world\" } }"
        </Original>
        <Expanded>
          "{ { "hello" }, { "world" } }"
==
"{ { "hello" }, { "world" } }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="vector&lt;bool> -> toString" tags="[containers][toString][vector]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(bools) == "{  }"
        </Original>
        <Expanded>
          "{  }" == "{  }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(bools) == "{ true }"
        </Original>
        <Expanded>
          "{ true }" == "{ true }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(bools) == "{ true, false }"
        </Original>
        <Expanded>
          "{ true, false }" == "{ true, false }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="vector&lt;int,allocator> -> toString" tags="[toString][vector,allocator]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{  }"
        </Original>
        <Expanded>
          "{  }" == "{  }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{ 42 }"
        </Original>
        <Expanded>
          "{ 42 }" == "{ 42 }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{ 42, 250 }"
        </Original>
        <Expanded>
          "{ 42, 250 }" == "{ 42, 250 }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="vector&lt;int> -> toString" tags="[toString][vector]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{  }"
        </Original>
        <Expanded>
          "{  }" == "{  }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{ 42 }"
        </Original>
        <Expanded>
          "{ 42 }" == "{ 42 }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{ 42, 250 }"
        </Original>
        <Expanded>
          "{ 42, 250 }" == "{ 42, 250 }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="vector&lt;string> -> toString" tags="[toString][vector]" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{  }"
        </Original>
        <Expanded>
          "{  }" == "{  }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{ \"hello\" }"
        </Original>
        <Expanded>
          "{ "hello" }" == "{ "hello" }"
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/ToStringVector.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(vv) == "{ \"hello\", \"world\" }"
        </Original>
        <Expanded>
          "{ "hello", "world" }"
==
"{ "hello", "world" }"
        </Expanded>
      </Expression>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="vectors can be sized and resized" tags="[vector]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.size() == 5
        </Original>
        <Expanded>
          5 == 5
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.capacity() >= 5
        </Original>
        <Expanded>
          5 >= 5
        </Expanded>
      </Expression>
      <Section name="resizing bigger changes size and capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            v.size() == 10
          </Original>
          <Expanded>
            10 == 10
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.size() == 5
        </Original>
        <Expanded>
          5 == 5
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.capacity() >= 5
        </Original>
        <Expanded>
          5 >= 5
        </Expanded>
      </Expression>
      <Section name="resizing smaller changes size but not capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            v.size() == 0
          </Original>
          <Expanded>
            0 == 0
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            v.capacity() >= 5
          </Original>
          <Expanded>
            5 >= 5
          </Expanded>
        </Expression>
        <Section name="We can use the 'swap trick' to reset the capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.size() == 5
        </Original>
        <Expanded>
          5 == 5
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.capacity() >= 5
        </Original>
        <Expanded>
          5 >= 5
        </Expanded>
      </Expression>
      <Section name="reserving bigger changes capacity but not size" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            v.size() == 5
          </Original>
          <Expanded>
            5 == 5
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.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>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.size() == 5
        </Original>
        <Expanded>
          5 == 5
        </Expanded>
      </Expression>
      <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Original>
          v.capacity() >= 5
        </Original>
        <Expanded>
          5 >= 5
        </Expanded>
      </Expression>
      <Section name="reserving smaller does not change size or capacity" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            v.size() == 5
          </Original>
          <Expanded>
            5 == 5
          </Expanded>
        </Expression>
        <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
          <Original>
            v.capacity() >= 5
          </Original>
          <Expanded>
            5 >= 5
          </Expanded>
        </Expression>
        <OverallResults successes="2" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <TestCase name="xmlentitycheck" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
      <Section name="embedded xml" description="&lt;test>it should be possible to embed xml characters, such as &lt;, &quot; or &amp;, or even whole &lt;xml>documents&lt;/xml> within an attribute&lt;/test>" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <Section name="encoded chars" description="these should all be encoded: &amp;&amp;&amp;&quot;&quot;&quot;&lt;&lt;&lt;&amp;&quot;&lt;&lt;&amp;&quot;" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" >
        <OverallResults successes="1" failures="0" expectedFailures="0"/>
      </Section>
      <OverallResult success="true"/>
    </TestCase>
    <OverallResults successes="866" failures="121" expectedFailures="21"/>
  </Group>
  <OverallResults successes="866" failures="120" expectedFailures="21"/>
</Catch>
