public void TimelineStream_Receiver_SetSegment_LX() { var receiveSpan = TimeSpan.FromMinutes(15); var segmentSpan = TimeSpan.FromMinutes(30); var now = DateTime.UtcNow - receiveSpan; var segments = new TimelineStream(receiveSpan, segmentSpan); var target = new[] { new Fragment { Arg1 = now.RoundLower(1), Include1 = true, Arg2 = now.RoundLower(1) + segmentSpan * 2 + receiveSpan, Include2 = false, Entries = ToReference(Enumerable.Range(0, 75).Select(x => now + TimeSpan.FromMinutes(x)).ToArray()) }, new Fragment { Arg1 = now.RoundLower(1) + segmentSpan * 2 + receiveSpan, Include1 = true, Arg2 = null, Include2 = true, Entries = ToReference(Enumerable.Range(75, 15).Select(x => now + TimeSpan.FromMinutes(x)).ToArray()) } }; for (var i = 0; i < 90; i++) { segments.Create(now + TimeSpan.FromMinutes(i)); } var result = segments.Set(Array.Empty <Reference>(), now.RoundLower(1), now.RoundLower(1) + TimeSpan.FromDays(1)); AssertFragments(target, segments.GetItems()); AssertSamples(result.ToArray(), ToReference(Enumerable.Range(0, 90).Select(x => now + TimeSpan.FromMinutes(x)).ToArray())); }
public void TimelineStream_SetSegment_RPMS() { var source = new[] { new Fragment { Arg1 = _dpp, Arg2 = _dp1, Entries = _rpp1 }, new Fragment { Arg1 = _dp1, Arg2 = _dpx, Entries = _rp1x }, new Fragment { Arg1 = _dpx, Arg2 = _dp3, Entries = _rpx3 }, new Fragment { Arg1 = _dp3, Arg2 = _dp4, Entries = _rp34 } }; var target = new[] { new Fragment { Arg1 = _dpp, Include1 = true, Arg2 = _dp1, Include2 = false, Entries = _rpp1 }, new Fragment { Arg1 = _dp1, Include1 = true, Arg2 = _dp2, Include2 = false, Entries = _rp12 }, new Fragment { Arg1 = _dp2, Include1 = true, Arg2 = _dpf, Include2 = true, Entries = _rp2f } }; var segments = new TimelineStream(source); var result = segments.Set(_rp2f, _dp2, _dpf); AssertFragments(target, segments.GetItems()); }
public void TimelineStream_SetSegment_LRXB() { var source = new[] { new Fragment { Arg1 = _dpp, Arg2 = _dp2, Entries = _rpp2 }, new Fragment { Arg1 = _dp3, Arg2 = _dpf, Entries = _rp3f } }; var target = new[] { new Fragment { Arg1 = _dpp, Include1 = true, Arg2 = _dp1, Include2 = false, Entries = _rpp1 }, new Fragment { Arg1 = _dp1, Include1 = true, Arg2 = _dp4, Include2 = true, Entries = _rp14 }, new Fragment { Arg1 = _dp4, Include1 = false, Arg2 = _dpf, Include2 = true, Entries = _rp4f } }; var segments = new TimelineStream(source); var result = segments.Set(_rp14, _dp1, _dp4); AssertFragments(target, segments.GetItems()); }
public void TimelineStream_SetSegment_Empty() { var target = new[] { new Fragment { Arg1 = _dpx, Include1 = true, Arg2 = _dp4, Include2 = true, Entries = _rpx4 } }; var segments = new TimelineStream(); var result = segments.Set(_rpx4, _dpx, _dp4); AssertFragments(target, segments.GetItems()); }
public void TimelineStream_SetSegment_IN() { var source = new[] { new Fragment { Arg1 = _dp2, Arg2 = _dp3, Entries = _rp23 } }; var target = new[] { new Fragment { Arg1 = _dp1, Include1 = true, Arg2 = _dp4, Include2 = true, Entries = _rp14 } }; var segments = new TimelineStream(); var result = segments.Set(_rp14, _dp1, _dp4); AssertFragments(target, segments.GetItems()); }
public void TimelineStream_SetSegment_ONLA() { var source = new[] { new Fragment { Arg1 = _dp1, Arg2 = _dp4, Entries = _rp14 } }; var target = new[] { new Fragment { Arg1 = _dp1, Include1 = true, Arg2 = _dp3, Include2 = true, Entries = _rp13 }, new Fragment { Arg1 = _dp3, Include1 = false, Arg2 = _dp4, Include2 = true, Entries = _rp34 } }; var segments = new TimelineStream(source); var result = segments.Set(_rp13, _dp1, _dp3); AssertFragments(target, segments.GetItems()); }
public void TimelineStream_SetSegment_LAB() { var source = new[] { new Fragment { Arg1 = _dp1, Arg2 = _dpx, Entries = _rp1x } }; var target = new[] { new Fragment { Arg1 = _dp1, Include1 = true, Arg2 = _dpx, Include2 = false, Entries = _rp1x }, new Fragment { Arg1 = _dpx, Include1 = true, Arg2 = _dp4, Include2 = true, Entries = _rpx4 } }; var segments = new TimelineStream(source); var result = segments.Set(_rpx4, _dpx, _dp4); AssertFragments(target, segments.GetItems()); }
public void TimelineStream_Clear() { var source = new[] { new Fragment { Arg1 = _dpp, Arg2 = _dp1, Entries = _rpp1 }, new Fragment { Arg1 = _dp4, Arg2 = _dpf, Entries = _rp4f }, new Fragment { Arg1 = _dp1, Arg2 = _dp4, Entries = _rp14 } }; var target = new Fragment[] { }; var segments = new TimelineStream(source); var result = segments.Set(_rp23, _dp2, _dp3); segments.Clear(); AssertFragments(target, segments.GetItems()); }