public void ChartBarInfo_Construct_CalculatesCorrectTotalTimeAndSessions() { var segs = new Dictionary<string, IEnumerable<Session>>(); segs["0"] = _sessions; segs["1"] = _sessions; var colors = segs.ToDictionary(kvp => kvp.Key, kvp => Color.Empty); var barInfo = new ChartBarInfo("Narrative", string.Empty, segs, colors, colors); Assert.AreEqual(190, barInfo.TotalTime); Assert.AreEqual(6, barInfo.TotalSessions); }
public void ChartBarInfo_ConstructWithStatusSecondaryField_ThrowsOutSkippedStatuses() { var segs = new Dictionary<string, IEnumerable<Session>>(); segs[Session.Status.Incoming.ToString()] = _sessions; segs[Session.Status.Skipped.ToString()] = _sessions; segs[Session.Status.In_Progress.ToString()] = _sessions; var colors = segs.ToDictionary(kvp => kvp.Key, kvp => Color.Empty); var barInfo = new ChartBarInfo("Narrative", SessionFileType.kStatusFieldName, segs, colors, colors); Assert.AreEqual(2, barInfo.Segments.Count()); Assert.AreEqual(Session.Status.Incoming.ToString(), barInfo.Segments.ElementAt(0).FieldValue); Assert.AreEqual(Session.Status.In_Progress.ToString(), barInfo.Segments.ElementAt(1).FieldValue); }
public void CalculateBarSizes_CalculatesBarSizesCorrectly() { var segs1 = new Dictionary<string, IEnumerable<Session>>(); segs1["0"] = _sessions; var segs2 = new Dictionary<string, IEnumerable<Session>>(); segs2["1"] = _sessions.Where(e => e.Id != "eggs"); var colors1 = segs1.ToDictionary(kvp => kvp.Key, kvp => Color.Empty); var colors2 = segs2.ToDictionary(kvp => kvp.Key, kvp => Color.Empty); var barInfo1 = new ChartBarInfo("Narrative", string.Empty, segs1, colors1, colors1); var barInfo2 = new ChartBarInfo("Singing", string.Empty, segs2, colors2, colors2); ChartBarInfo.CalculateBarSizes(new List<ChartBarInfo> { barInfo1, barInfo2 }); Assert.AreEqual(100, barInfo1.BarSize); Assert.AreEqual(32, barInfo2.BarSize); }
public void ChartBarInfo_Construct__CalculatesBarSegmentSizesCorrectly() { var segs = new Dictionary<string, IEnumerable<Session>>(); segs["0"] = _sessions; segs["1"] = _sessions.Where(e => e.Id != "eggs"); segs["2"] = _sessions.Where(e => e.Id != "bacon"); var colors = segs.ToDictionary(kvp => kvp.Key, kvp => Color.Empty); var barInfo = new ChartBarInfo("Narrative", string.Empty, segs, colors, colors); // Total time is 198 minutes. // First segment is 95 minutes so takes up 95/198 of the bar size. Assert.AreEqual(48, barInfo.Segments.ElementAt(0).SegmentSize); // Second segment is 30 minutes so takes up 30/198 of the bar size. Assert.AreEqual(15, barInfo.Segments.ElementAt(1).SegmentSize); // Third segment is 73 minutes so takes up 73/198 of the bar size. Assert.AreEqual(37, barInfo.Segments.ElementAt(2).SegmentSize); }