コード例 #1
0
        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);
        }
コード例 #2
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);
        }
コード例 #3
0
        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);
        }
コード例 #4
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);
        }
コード例 #5
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);
        }