public void AggregateShouldAggregateRunStatsCorrectly() { var aggregator = new ParallelRunDataAggregator(); aggregator.Aggregate(null, null, null, TimeSpan.Zero, false, false, null, null); var runStats = aggregator.GetAggregatedRunStats(); Assert.AreEqual(runStats.ExecutedTests, 0, "RunStats must not have data."); var stats1 = new Dictionary <TestOutcome, long>(); stats1.Add(TestOutcome.Passed, 2); stats1.Add(TestOutcome.Failed, 3); stats1.Add(TestOutcome.Skipped, 1); stats1.Add(TestOutcome.NotFound, 4); stats1.Add(TestOutcome.None, 2); aggregator.Aggregate(new TestRunStatistics(12, stats1), null, null, TimeSpan.Zero, false, false, null, null); runStats = aggregator.GetAggregatedRunStats(); Assert.AreEqual(runStats.ExecutedTests, 12, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.Passed], 2, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.Failed], 3, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.Skipped], 1, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.NotFound], 4, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.None], 2, "RunStats must have aggregated data."); var stats2 = new Dictionary <TestOutcome, long>(); stats2.Add(TestOutcome.Passed, 3); stats2.Add(TestOutcome.Failed, 2); stats2.Add(TestOutcome.Skipped, 2); stats2.Add(TestOutcome.NotFound, 1); stats2.Add(TestOutcome.None, 3); aggregator.Aggregate(new TestRunStatistics(11, stats2), null, null, TimeSpan.Zero, false, false, null, null); runStats = aggregator.GetAggregatedRunStats(); Assert.AreEqual(runStats.ExecutedTests, 23, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.Passed], 5, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.Failed], 5, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.Skipped], 3, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.NotFound], 5, "RunStats must have aggregated data."); Assert.AreEqual(runStats.Stats[TestOutcome.None], 5, "RunStats must have aggregated data."); }