public void Add_Equal()
        {
            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, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new StringPayload("Craft")));

            var actual   = (timeline1 + timeline2).GetIntervals();
            var expected = new TimelinePayload <StringPayload>(new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new StringPayload("Craft"))).GetIntervals();

            Assert.That(TimeMath.Equals(expected, actual), Is.True);
        }
        public void Intersect_Equal()
        {
            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, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)));

            var actual   = (timeline1 & timeline2).GetIntervals();
            var expected = new TimelineMask(TimeZones.Local, new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0))).GetIntervals();

            Assert.That(TimeMath.Equals(expected, actual), Is.True);
        }
Example #3
0
        public void Union_OverlappingStart()
        {
            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, 1, 0, 0), new LocalDateTime(2008, 1, 5, 0, 0)));

            var actual   = (timeline1 | timeline2).GetIntervals();
            var expected = new TimelineMask(TimeZones.Local, new LocalInterval(new LocalDateTime(2008, 1, 1, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0))).GetIntervals();

            Assert.That(TimeMath.Equals(expected, actual), Is.True);
        }
Example #4
0
        public void Add_ToEmpty()
        {
            var timeline1 = new TimelinePayload <KeyCountPayload>();
            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)),
            }).GetIntervals();

            Assert.That(TimeMath.Equals(expected, actual), Is.True);
        }
Example #5
0
        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_Starting()
        {
            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, 4, 0, 0), new LocalDateTime(2008, 1, 6, 0, 0)).AddPayload(new StringPayload("B")));

            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, 6, 0, 0)).AddPayload(new StringPayload("B")),
                new LocalInterval(new LocalDateTime(2008, 1, 6, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new StringPayload("A")),
            }).GetIntervals();

            Assert.That(TimeMath.Equals(expected, actual), Is.True);
        }
Example #7
0
        public void Add_OverlappingStart()
        {
            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, 5, 0, 0)).AddPayload(new KeyCountPayload("Craft", 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, 4, 0, 0)).AddPayload(new KeyCountPayload("Craft", 1.5m)),
                new LocalInterval(new LocalDateTime(2008, 1, 4, 0, 0), new LocalDateTime(2008, 1, 5, 0, 0)).AddPayload(new KeyCountPayload("Craft", 3.0m)),
                new LocalInterval(new LocalDateTime(2008, 1, 5, 0, 0), new LocalDateTime(2008, 1, 8, 0, 0)).AddPayload(new KeyCountPayload("Craft", 1.5m)),
            }).GetIntervals();

            Assert.That(TimeMath.Equals(expected, actual), Is.True);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }