Пример #1
0
		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);
		}
Пример #2
0
		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);
		}
Пример #3
0
		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);
		}
Пример #4
0
		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);
		}