public void ParseMultipleTestResultsReportLog()

in BoostTestAdapterNunit/BoostTestResultTest.cs [650:713]


        public void ParseMultipleTestResultsReportLog()
        {
            using (Stream report = TestHelper.LoadEmbeddedResource("BoostTestAdapterNunit.Resources.ReportsLogs.MultipleTests.sample.test.report.xml"))
            using (Stream log = TestHelper.LoadEmbeddedResource("BoostTestAdapterNunit.Resources.ReportsLogs.MultipleTests.sample.test.log.xml"))
            {
                Parse(report, log);

                BoostTestResult masterSuiteResult = this.TestResultCollection[string.Empty];
                Assert.That(masterSuiteResult, Is.Not.Null);

                AssertReportDetails(masterSuiteResult, null, "CnvrtTest", TestResultType.Passed, 50, 0, 0, 4, 0, 0, 0);

                BoostTestResult testSuiteResult = this.TestResultCollection["CCRootSerialiserTestSuite"];
                Assert.That(testSuiteResult, Is.Not.Null);

                AssertReportDetails(testSuiteResult, masterSuiteResult, "CCRootSerialiserTestSuite", TestResultType.Passed, 2, 0, 0, 2, 0, 0, 0);

                ICollection<BoostTestResult> results = new HashSet<BoostTestResult>();

                {
                    BoostTestResult testCaseResult = this.TestResultCollection["CCRootSerialiserTestSuite/DeserialiseInvalidFile"];
                    Assert.That(testCaseResult, Is.Not.Null);

                    AssertReportDetails(testCaseResult, testSuiteResult, "DeserialiseInvalidFile", TestResultType.Passed, 1, 0, 0);
                    AssertLogDetails(testCaseResult, 5000);

                    results.Add(testCaseResult);

                    BoostTestResult testCase2Result = this.TestResultCollection["CCRootSerialiserTestSuite/DeserialiseNonExistingFile"];
                    Assert.That(testCase2Result, Is.Not.Null);

                    AssertReportDetails(testCase2Result, testSuiteResult, "DeserialiseNonExistingFile", TestResultType.Passed, 1, 0, 0);
                    AssertLogDetails(testCase2Result, 0);

                    results.Add(testCase2Result);
                }

                BoostTestResult testSuite2Result = this.TestResultCollection["DET108781TestSuite"];
                Assert.That(testSuite2Result, Is.Not.Null);

                AssertReportDetails(testSuite2Result, masterSuiteResult, "DET108781TestSuite", TestResultType.Passed, 48, 0, 0, 2, 0, 0, 0);

                {
                    BoostTestResult testCaseResult = this.TestResultCollection["DET108781TestSuite/ExtendedMultiplexingTest"];
                    Assert.That(testCaseResult, Is.Not.Null);

                    AssertReportDetails(testCaseResult, testSuite2Result, "ExtendedMultiplexingTest", TestResultType.Passed, 26, 0, 0);
                    AssertLogDetails(testCaseResult, 792000);

                    results.Add(testCaseResult);

                    BoostTestResult testCase2Result = this.TestResultCollection["DET108781TestSuite/QPGroupingTest"];
                    Assert.That(testCase2Result, Is.Not.Null);

                    AssertReportDetails(testCase2Result, testSuite2Result, "QPGroupingTest", TestResultType.Passed, 22, 0, 0);
                    AssertLogDetails(testCase2Result, 941000);

                    results.Add(testCase2Result);
                }

                // Only *TestCase* results should be enumerated.
                Assert.That(results.Intersect(this.TestResultCollection.Values).Count(), Is.EqualTo(results.Count));
            }
        }