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); }