public void Union_Empty() { var timeline1 = new TimelineMask(TimeZones.Local); var timeline2 = new TimelineMask(TimeZones.Local, new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 3, 0, 0))); var actual = (timeline1 | timeline2).GetIntervals(); var expected = new TimelineMask(TimeZones.Local, new[] { new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 3, 0, 0)), }).GetIntervals(); Assert.That(TimeMath.Equals(expected, actual), Is.True); }
public void Add_TouchingStart() { var timeline1 = new TimelinePayload <StringPayload>(new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new StringPayload("Craft"))); var timeline2 = new TimelinePayload <StringPayload>(new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 4, 0, 0)).AddPayload(new StringPayload("Craft"))); var actual = (timeline1 + timeline2).GetIntervals(); var expected = new TimelineMask(TimeZones.Local, new[] { new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new StringPayload("Craft")), }).GetIntervals(); Assert.That(TimeMath.Equals(expected, actual), Is.True); }
public void Add_Before() { var timeline1 = new TimelinePayload <KeyCountPayload>(new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new KeyCountPayload("A", 1.5m))); var timeline2 = new TimelinePayload <KeyCountPayload>(new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 3, 0, 0)).AddPayload(new KeyCountPayload("B", 1.5m))); var actual = (timeline1 + timeline2).GetIntervals(); var expected = new TimelineMask(TimeZones.Local, new[] { new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 3, 0, 0)).AddPayload(new KeyCountPayload("B", 1.5m)), new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new KeyCountPayload("A", 1.5m)), }).GetIntervals(); Assert.That(TimeMath.Equals(expected, actual), Is.True); }
public void Intersect_Inside() { var timeline1 = new TimelineMask(TimeZones.Local, new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0))); var timeline2 = new TimelineMask(TimeZones.Local, new LocalInterval(new LocalDateTime(2008, 1, 5, 0, 0), new LocalDateTime(2008, 1, 6, 0, 0))); var actual = (timeline1 & ~timeline2).GetIntervals(); var expected = new TimelineMask(TimeZones.Local, new[] { new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 5, 0, 0)), new LocalInterval(new LocalDateTime(2008, 1, 6, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)), }).GetIntervals(); Assert.That(TimeMath.Equals(expected, actual), Is.True); }
public void Add_Outside() { var timeline1 = new TimelinePayload <StringPayload>(new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new StringPayload("A"))); var timeline2 = new TimelinePayload <StringPayload>(new LocalInterval(new LocalDateTime(2008, 1, 3, 0, 0), new LocalDateTime(2008, 1, 9, 0, 0)).AddPayload(new StringPayload("B"))); var actual = (timeline1 + timeline2).GetIntervals(); var expected = new TimelineMask(TimeZones.Local, new[] { // TODO: Hmmm.... new LocalInterval(new LocalDateTime(2008, 1, 3, 0, 0), new LocalDateTime(2008, 1, 4, 0, 0)).AddPayload(new StringPayload("B")), new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new StringPayload("A")), new LocalInterval(new LocalDateTime(2008, 1, 8, 0, 0), new LocalDateTime(2008, 1, 9, 0, 0)).AddPayload(new StringPayload("B")), }).GetIntervals(); Assert.That(TimeMath.Equals(expected, actual), Is.True); }
public void Add_ToEmpty() { // Arrange var timeline1 = TimeBuilder.Empty; var timeline2 = TimeBuilder.From(2008, 1, 1).To(2008, 1, 3).Payload("Craft", 1.5m).Timeline; // Act var actual = (timeline1 + timeline2).GetIntervals(); // Assert var expected = new [] { TimeBuilder.From(2008, 1, 1).To(2008, 1, 3).Payload("Craft", 1.5m).Interval, }; Assert.That(TimeMath.Equals(expected, actual), Is.True); }
public void Add_Before() { // Arrange var timeline1 = new TimelinePayload <KeyCountPayload>(new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new KeyCountPayload("Craft", 1.5m))); var timeline2 = new TimelinePayload <KeyCountPayload>(new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 3, 0, 0)).AddPayload(new KeyCountPayload("Craft", 1.5m))); // Act var actual = (timeline1 + timeline2).GetIntervals(); // Assert var expected = new LocalInterval[] { TimeBuilder.From(2008, 1, 1).To(2008, 1, 3).Payload("Craft", 1.5m).Interval, TimeBuilder.From(2008, 1, 4).To(2008, 1, 8).Payload("Craft", 1.5m).Interval, }; Assert.That(TimeMath.Equals(expected, actual), Is.True); }