コード例 #1
0
        public void BrokenXmlWithSingleTest()
        {
            var            framework  = new MockFrameworkHandle();
            var            runcontext = new MockRunContext();
            var            executor   = new MockTestExecutor();
            IList <string> xml_output = new List <string>()
            {
                @"<?xml version=""1.0"" encoding=""UTF-8""?>",
                @"<Catch name=""CatchUnitTest.exe"">",
                @"  <Group name=""CatchUnitTest.exe"">",
                @"    <TestCase name=""C++ assert"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""45"">"
            };
            IList <TestCase> tests = new List <TestCase>();

            tests.Add(new TestCase("C++ assert", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = "ReferenceCatchProject\testrunnertest.cpp", LineNumber = 45
            });
            executor.MockComposeResults(xml_output, tests, framework);
            Assert.AreEqual(1, framework.Results.Count);
            Assert.AreEqual(TestOutcome.None, framework.Results[0].Outcome);
        }
コード例 #2
0
        public void XmlPassedTestWithInfo()
        {
            var            framework  = new MockFrameworkHandle();
            var            runcontext = new MockRunContext();
            var            executor   = new MockTestExecutor();
            IList <string> xml_output = new List <string>()
            {
                @"<?xml version=""1.0"" encoding=""UTF-8""?>",
                @"<Catch name = ""ReferenceCatchProject.exe"" >",
                @"  <Group name=""ReferenceCatchProject.exe"">",
                @"    <TestCase name = ""First fixture"" tags=""[fixture]"" filename=""fixture_test.cpp"" line=""13"">",
                @"      <Expression success = ""true"" type=""CHECK"" filename=""fixture_test.cpp"" line=""17"">",
                @"        <Original>",
                @"          expected == actual",
                @"        </Original>",
                @"        <Expanded>",
                @"          true == true",
                @"        </Expanded>",
                @"      </Expression>",
                @"      <OverallResult success = ""true"" durationInSeconds=""0.143113""/>",
                @"    </TestCase>",
                @"    <OverallResults successes = ""1"" failures=""0"" expectedFailures=""0""/>",
                @"  </Group>",
                @"  <OverallResults successes = ""1"" failures=""0"" expectedFailures=""0""/>",
                @"</Catch>"
            };
            IList <TestCase> tests = new List <TestCase>();

            tests.Add(new TestCase("First fixture", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = @"ReferenceCatchProject\fixture_test.cpp", LineNumber = 13
            });
            executor.MockComposeResults(xml_output, tests, framework);
            var results = framework.Results.ToArray();

            Assert.AreEqual(1, framework.Results.Count);
            Assert.AreEqual(TestOutcome.Passed, results[0].Outcome);
        }
コード例 #3
0
        public void XmlFooTest()
        {
            var            framework  = new MockFrameworkHandle();
            var            runcontext = new MockRunContext();
            var            executor   = new MockTestExecutor();
            IList <string> xml_output = new List <string>()
            {
                @"<?xml version=""1.0"" encoding=""UTF-8""?>",
                @"<Catch name=""ReferenceCatchProject.exe"">",
                @"  <Group name=""ReferenceCatchProject.exe"">",
                @"    <TestCase name=""Foo"" filename=""ReferenceCatchProject\Tests.cpp"" line=""59"">",
                @"      <Section name=""less than"" filename=""ReferenceCatchProject\Tests.cpp"" line=""62"">",
                @"        <Expression success=""false"" type=""REQUIRE"" filename=""ReferenceCatchProject\Tests.cpp"" line=""65"">",
                @"          <Original>",
                @"            x &lt; 100",
                @"          </Original>",
                @"          <Expanded>",
                @"            168 &lt; 100",
                @"          </Expanded>",
                @"        </Expression>",
                @"        <OverallResults successes = ""0"" failures = ""1"" expectedFailures = ""0"" durationInSeconds = ""0.000633""/>",
                @"      </Section>",
                @"      <Section name = ""equals"" filename = ""ReferenceCatchProject\Tests.cpp"" line = ""67"">",
                @"        <Expression success = ""false"" type = ""CHECK"" filename = ""ReferenceCatchProject\Tests.cpp"" line = ""70"">",
                @"          <Original>",
                @"            x == 42",
                @"          </Original>",
                @"          <Expanded >",
                @"            43 == 42",
                @"          </Expanded>",
                @"        </Expression>",
                @"        <Section name = ""bar"" filename = ""ReferenceCatchProject\Tests.cpp"" line = ""71"">",
                @"          <Expression success = ""false"" type = ""REQUIRE"" filename = ""ReferenceCatchProject\Tests.cpp"" line = ""74"">",
                @"            <Original>",
                @"              x == 42",
                @"            </Original>",
                @"            <Expanded>",
                @"              44 == 42",
                @"            </Expanded>",
                @"          </Expression>",
                @"          <OverallResults successes = ""0"" failures = ""2"" expectedFailures = ""0"" durationInSeconds = ""0.000464""/>",
                @"        </Section>",
                @"        <OverallResults successes = ""0"" failures = ""1"" expectedFailures = ""0"" durationInSeconds = ""0.000193""/>",
                @"      </Section>",
                @"      <Section name = ""equals"" filename = ""ReferenceCatchProject\Tests.cpp"" line = ""67"">",
                @"        <Expression success = ""false"" type = ""CHECK"" filename = ""ReferenceCatchProject\Tests.cpp"" line = ""70"">",
                @"          <Original>",
                @"            x == 42",
                @"          </Original>",
                @"          <Expanded>",
                @"            43 == 42",
                @"          </Expanded>",
                @"        </Expression>",
                @"        <OverallResults successes = ""0"" failures = ""1"" expectedFailures = ""0"" durationInSeconds = ""0.000182""/>",
                @"      </Section>",
                @"      <OverallResult success = ""false"" durationInSeconds = ""0.002144""/>",
                @"    </TestCase>",
                @"  <OverallResults successes = ""0"" failures = ""4"" expectedFailures = ""0""/>",
                @"  </Group >",
                @"  <OverallResults successes = ""0"" failures = ""4"" expectedFailures = ""0""/>",
                @"</Catch>"
            };

            IList <TestCase> tests = new List <TestCase>();

            tests.Add(new TestCase("Foo", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = @"ReferenceCatchProject\Tests.cpp", LineNumber = 59
            });
            executor.MockComposeResults(xml_output, tests, framework);
            var results = framework.Results.ToArray();

            Assert.AreEqual(5, framework.Results.Count);
            Assert.IsTrue(results.All(r => r.Outcome == TestOutcome.Failed));
        }
コード例 #4
0
        public void BrokenXml()
        {
            var            framework  = new MockFrameworkHandle();
            var            runcontext = new MockRunContext();
            var            executor   = new MockTestExecutor();
            IList <string> xml_output = new List <string>()
            {
                @"<?xml version=""1.0"" encoding=""UTF-8""?>",
                @"<Catch name=""CatchUnitTest.exe"">",
                @"  <Group name=""CatchUnitTest.exe"">",
                @"    <TestCase name=""Simple test case"" tags=""[#testrunnertest][tag]"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""15"">",
                @"      <Expression success=""false"" type=""CHECK"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""10"">",
                @"        <Original>",
                @"          3 == 4",
                @"        </Original>",
                @"        <Expanded>",
                @"          3 == 4",
                @"        </Expanded>",
                @"      </Expression>",
                @"      <Expression success=""false"" type=""REQUIRE"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""11"">",
                @"        <Original> ",
                @"          9 == 0   ",
                @"        </Original>",
                @"        <Expanded> ",
                @"          9 == 0   ",
                @"        </Expanded>",
                @"      </Expression>",
                @"      <OverallResult success=""false"" durationInSeconds=""0.003571""/>",
                @"    </TestCase>",
                @"    <TestCase name=""Another test case"" tags=""[#testrunnertest][tag]"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""23"">",
                @"      <Expression success=""false"" type=""CHECK"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""18"">",
                @"        <Original> ",
                @"          a == b   ",
                @"        </Original>",
                @"        <Expanded> ",
                @"          5 == 6   ",
                @"        </Expanded>",
                @"      </Expression>",
                @"      <Section name=""A Section test"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""20"">",
                @"        <OverallResults successes=""1"" failures=""0"" expectedFailures=""0"" durationInSeconds=""2.3e-05""/>",
                @"      </Section>",
                @"      <OverallResult success=""false"" durationInSeconds=""0.002557""/>",
                @"    </TestCase>",
                @"    <TestCase name=""Third test case"" tags=""[#testrunnertest][tag]"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""37"">",
                @"      <Failure filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""24"">",
                @"        Fail check",
                @"      </Failure>",
                @"      <OverallResult success=""false"" durationInSeconds=""0.001122""/>",
                @"    </TestCase>",
                @"    <TestCase name=""C++ assert"" tags=""[#testrunnertest]"" filename=""ReferenceCatchProject\testrunnertest.cpp"" line=""45"">",
            };
            IList <TestCase> tests = new List <TestCase>();

            tests.Add(new TestCase("Simple test case", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = "ReferenceCatchProject\testrunnertest.cpp", LineNumber = 15
            });
            tests.Add(new TestCase("Another test case", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = "ReferenceCatchProject\testrunnertest.cpp", LineNumber = 23
            });
            tests.Add(new TestCase("Third test case", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = "ReferenceCatchProject\testrunnertest.cpp", LineNumber = 37
            });
            tests.Add(new TestCase("C++ assert", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = "ReferenceCatchProject\testrunnertest.cpp", LineNumber = 45
            });
            tests.Add(new TestCase("Last test case", new Uri(TestExecutor.ExecutorUriString), "ReferenceCatchProject")
            {
                CodeFilePath = "ReferenceCatchProject\testrunnertest.cpp", LineNumber = 54
            });
            executor.MockComposeResults(xml_output, tests, framework);
            Assert.AreEqual(6, framework.Results.Count);
            for (int i = 0; i < 4; ++i)
            {
                Assert.AreNotEqual(TestOutcome.None, framework.Results[i].Outcome);
            }
            Assert.AreEqual(TestOutcome.None, framework.Results[4].Outcome);
            Assert.AreEqual(TestOutcome.None, framework.Results[5].Outcome);
        }