public void MultiTestcaseV3() { var settings = new Settings(); var output = new Catch2Interface.XmlOutput(Resources.TestStrings_TestResult.MultipleTestCasesV3, false, settings); Assert.IsFalse(output.IsPartialOutput); Assert.IsFalse(output.TimedOut); Assert.AreEqual(2, output.TestResults.Count); }
public void MultiTestcaseV3() { var settings = new Settings(); var output = new Catch2Interface.XmlOutput(Resources.TestStrings_TestResult.PartialMultipleTestCasesV3, false, settings); Assert.IsFalse(output.TimedOut); Assert.IsTrue(output.IsPartialOutput); Assert.AreEqual(4, output.TestResults.Count); Assert.AreEqual("Test1", output.TestResults[0].Name); Assert.AreEqual(TestOutcomes.Passed, output.TestResults[0].Outcome); Assert.AreEqual("Test2", output.TestResults[1].Name); Assert.AreEqual(TestOutcomes.Passed, output.TestResults[1].Outcome); Assert.AreEqual("Test3", output.TestResults[2].Name); Assert.AreEqual(TestOutcomes.Passed, output.TestResults[2].Outcome); Assert.AreEqual("Test4", output.TestResults[3].Name); Assert.AreEqual(TestOutcomes.Failed, output.TestResults[3].Outcome); }
private void ProcessXml() { try { // Determine the part of the xmloutput string to parse // In some cases Catch2 output contains additional lines of output after the // xml-output. The XmlDocument parser doesn't like this so let's make sure those // extra lines are ignored. var cleanedoutput = XmlOutput.CleanXml(_xmloutput); if (string.IsNullOrEmpty(cleanedoutput)) { SetInvalidTestRunnerOutput(); return; } // Parse the Xml document var xml = new XmlDocument(); xml.LoadXml(cleanedoutput); if (XmlOutput.IsVersion2Xml(cleanedoutput)) { var nodeGroup = xml.SelectSingleNode("Catch/Group"); ExtractTestResult(nodeGroup); } else if (XmlOutput.IsVersion3Xml(cleanedoutput)) { var nodeGroup = xml.SelectSingleNode("Catch2TestRun"); ExtractTestResult(nodeGroup); } } catch { SetInvalidTestRunnerOutput(); } }