public void Statistics_Calculated_In_Constructor() { var chats = Data.GetChatsB(); var calculator = new SummaryStatisticsCalculator(); var lines = calculator.GetStatisticsFromEnumerable(chats.Select(chat => (double)chat.Lines)); var minutes = calculator.GetStatisticsFromEnumerable(chats.Select(chat => (double)chat.Minutes)); var collection = new ChatCollection(chats); Assert.AreEqual(lines, collection.LineStatistics); Assert.AreEqual(minutes, collection.MinuteStatistics); }
public void Statistics_Updated_On_Add() { var collection = new ChatCollection(Data.GetChatsB()); collection.Add(Data.GetChatA()); var chats = Data.GetChatsB().ToList(); chats.Add(Data.GetChatA()); var calculator = new SummaryStatisticsCalculator(); var lines = calculator.GetStatisticsFromEnumerable(chats.Select(chat => (double)chat.Lines)); var minutes = calculator.GetStatisticsFromEnumerable(chats.Select(chat => (double)chat.Minutes)); Assert.AreEqual(lines, collection.LineStatistics); Assert.AreEqual(minutes, collection.MinuteStatistics); }
public void Overloads_Match() { var data = new[] { new { x = 1, y = 2 }, new { x = 5, y = 17 }, new { x = 12, y = -9 } }; var calculator = new SummaryStatisticsCalculator(); var selectorSummary = calculator.GetStatisticsFromEnumerable(data, obj => obj.x + obj.y); var array = data.Select(obj => (double)obj.x + obj.y); var nonSelectorSummary = calculator.GetStatisticsFromEnumerable(array); Assert.AreEqual(selectorSummary, nonSelectorSummary); }
public void Calculates_Correct_Summary_Statistics() { var data = new [] { 11, 21, 38, 25, 3, 5, 16, 49, 48, 66, 21, 41, 8, 80, 16, 44, 88, 82, 60, 30 }; var statistics = new SummaryStatisticsCalculator().GetStatisticsFromEnumerable(data, x => (double)x); var expectedStatistics = new SummaryStatistics { Minimum = 3, Maximum = 88, Median = 34, Sum = 752, Mean = 37.6, StandardDeviation = 25.935304 }; Assert.AreEqual(statistics, expectedStatistics); }
public void Calculates_Correct_Median_When_Length_Is_Odd() { var statistics = new SummaryStatisticsCalculator().GetStatisticsFromEnumerable(new double[] { 1, 2, 3 }); Assert.AreEqual(statistics.Median, 2); }