<?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="#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="true"/>
    </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>
      <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>
      <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="true"/>
    </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="true"/>
    </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="SUCCESS 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="true">
        <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="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="true"/>
    </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>
      <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>
      <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="true"/>
    </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="true"/>
    </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="true"/>
    </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="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="true"/>
    </TestCase>
    <TestCase name="has printf" filename="projects/<exe-name>/UsageTests/Tricky.tests.cpp" >
loose text artifact
      <OverallResult success="true"/>
    </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="true"/>
    </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="true"/>
    </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::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::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( 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="false" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e0) == "0"
        </Original>
        <Expanded>
          "{?}" == "0"
        </Expanded>
      </Expression>
      <Expression success="false" type="CHECK" filename="projects/<exe-name>/UsageTests/EnumToString.tests.cpp" >
        <Original>
          ::Catch::Detail::stringify(e1) == "1"
        </Original>
        <Expanded>
          "{?}" == "1"
        </Expanded>
      </Expression>
      <OverallResult success="false"/>
    </TestCase>
    <TestCase name="toString(enum w/operator&lt;&lt;)" tags="[enum][toString]" filename="projects/<exe-name>/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;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="827" failures="107" expectedFailures="21"/>
  </Group>
  <OverallResults successes="827" failures="106" expectedFailures="21"/>
</Catch>
