Пример #1
0
        public void HasGapsTest()
        {
            DateTime start1 = ClockProxy.Clock.Now.Date;
            DateTime end1   = start1.AddDays(1);
            DateTime start2 = end1;
            DateTime end2   = start2.AddDays(1);
            DateTime start3 = end2;
            DateTime end3   = start3.AddDays(1);
            DateTime start4 = end3;
            DateTime end4   = start4.AddDays(1);

            TimePeriodCollection periods         = new TimePeriodCollection();
            TimeLine <TimeRange> timeLineMoments = new TimeLine <TimeRange>(periods, null, null);

            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.Add(new TimeRange(start1, start1));
            Assert.AreEqual(false, timeLineMoments.HasGaps());
            periods.RemoveAt(periods.Count - 1);

            periods.Add(new TimeRange(start1, end1));
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.Add(new TimeRange(start1, end1));
            Assert.AreEqual(false, timeLineMoments.HasGaps());
            periods.RemoveAt(periods.Count - 1);
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.Add(new TimeRange(start2, end2));
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.Add(new TimeRange(start1, end2));
            Assert.AreEqual(false, timeLineMoments.HasGaps());
            periods.RemoveAt(periods.Count - 1);
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.Add(new TimeRange(start3, end3));
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.Add(new TimeRange(start4, end4));
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.RemoveAt(2);               // start/end 3
            Assert.AreEqual(true, timeLineMoments.HasGaps());

            periods.RemoveAt(1);               // start/end 1
            Assert.AreEqual(true, timeLineMoments.HasGaps());

            periods.RemoveAt(periods.Count - 1);               // start/end 4
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.RemoveAt(0);
            Assert.AreEqual(false, timeLineMoments.HasGaps());

            periods.Clear();
            Assert.AreEqual(false, timeLineMoments.HasGaps());
        } // HasGapsTest
Пример #2
0
        public void RemoveAtTest()
        {
            DateTime             now         = ClockProxy.Clock.Now;
            SchoolDay            schoolDay   = new SchoolDay(now);
            TimePeriodCollection timePeriods = new TimePeriodCollection(schoolDay);

            // inside
            Assert.Equal(timePeriods[2], schoolDay.Lesson2);
            timePeriods.RemoveAt(2);
            Assert.Equal(timePeriods[2], schoolDay.Break2);

            // first
            Assert.Equal(timePeriods[0], schoolDay.Lesson1);
            timePeriods.RemoveAt(0);
            Assert.Equal(timePeriods[0], schoolDay.Break1);

            // last
            Assert.Equal(timePeriods[timePeriods.Count - 1], schoolDay.Lesson4);
            timePeriods.RemoveAt(timePeriods.Count - 1);
            Assert.Equal(timePeriods[timePeriods.Count - 1], schoolDay.Break3);
        }         // RemoveAtTest
Пример #3
0
        public void RemoveAtTest()
        {
            var now         = ClockProxy.Clock.Now;
            var schoolDay   = new SchoolDay(now);
            var timePeriods = new TimePeriodCollection(schoolDay);

            // inside
            timePeriods[2].Should().Be(schoolDay.Lesson2);
            timePeriods.RemoveAt(2);
            timePeriods[2].Should().Be(schoolDay.Break2);

            // first
            timePeriods[0].Should().Be(schoolDay.Lesson1);
            timePeriods.RemoveAt(0);
            timePeriods[0].Should().Be(schoolDay.Break1);

            // last
            timePeriods[timePeriods.Count - 1].Should().Be(schoolDay.Lesson4);
            timePeriods.RemoveAt(timePeriods.Count - 1);
            timePeriods[timePeriods.Count - 1].Should().Be(schoolDay.Break3);
        }
Пример #4
0
        public void IsSamePeriodTest()
        {
            DateTime             now         = ClockProxy.Clock.Now;
            SchoolDay            schoolDay   = new SchoolDay(now);
            TimePeriodCollection timePeriods = new TimePeriodCollection(schoolDay);

            Assert.True(timePeriods.IsSamePeriod(timePeriods));
            Assert.True(timePeriods.IsSamePeriod(schoolDay));

            Assert.True(schoolDay.IsSamePeriod(schoolDay));
            Assert.True(schoolDay.IsSamePeriod(timePeriods));

            Assert.False(timePeriods.IsSamePeriod(TimeBlock.Anytime));
            Assert.False(schoolDay.IsSamePeriod(TimeBlock.Anytime));

            timePeriods.RemoveAt(0);
            Assert.False(timePeriods.IsSamePeriod(schoolDay));
        }         // IsSamePeriodTest
Пример #5
0
        public void IsSamePeriodTest()
        {
            var now         = ClockProxy.Clock.Now;
            var schoolDay   = new SchoolDay(now);
            var timePeriods = new TimePeriodCollection(schoolDay);

            Assert.IsTrue(timePeriods.IsSamePeriod(timePeriods));
            Assert.IsTrue(timePeriods.IsSamePeriod(schoolDay));

            Assert.IsTrue(schoolDay.IsSamePeriod(schoolDay));
            Assert.IsTrue(schoolDay.IsSamePeriod(timePeriods));

            Assert.IsFalse(timePeriods.IsSamePeriod(TimeBlock.Anytime));
            Assert.IsFalse(schoolDay.IsSamePeriod(TimeBlock.Anytime));

            timePeriods.RemoveAt(0);
            Assert.IsFalse(timePeriods.IsSamePeriod(schoolDay));
        }
        public void IsSamePeriodTest() {
            var now = ClockProxy.Clock.Now;
            var schoolDay = new SchoolDay(now);
            var timePeriods = new TimePeriodCollection(schoolDay);

            Assert.IsTrue(timePeriods.IsSamePeriod(timePeriods));
            Assert.IsTrue(timePeriods.IsSamePeriod(schoolDay));

            Assert.IsTrue(schoolDay.IsSamePeriod(schoolDay));
            Assert.IsTrue(schoolDay.IsSamePeriod(timePeriods));

            Assert.IsFalse(timePeriods.IsSamePeriod(TimeBlock.Anytime));
            Assert.IsFalse(schoolDay.IsSamePeriod(TimeBlock.Anytime));

            timePeriods.RemoveAt(0);
            Assert.IsFalse(timePeriods.IsSamePeriod(schoolDay));
        }
        public void RemoveAtTest() {
            var now = ClockProxy.Clock.Now;
            var schoolDay = new SchoolDay(now);
            var timePeriods = new TimePeriodCollection(schoolDay);

            // inside
            timePeriods[2].Should().Be(schoolDay.Lesson2);
            timePeriods.RemoveAt(2);
            timePeriods[2].Should().Be(schoolDay.Break2);

            // first
            timePeriods[0].Should().Be(schoolDay.Lesson1);
            timePeriods.RemoveAt(0);
            timePeriods[0].Should().Be(schoolDay.Break1);

            // last
            timePeriods[timePeriods.Count - 1].Should().Be(schoolDay.Lesson4);
            timePeriods.RemoveAt(timePeriods.Count - 1);
            timePeriods[timePeriods.Count - 1].Should().Be(schoolDay.Break3);
        }
Пример #8
0
        public void HasOverlapsTest()
        {
            DateTime start1 = ClockProxy.Clock.Now.Date;
            DateTime end1   = start1.AddDays(1);
            DateTime start2 = end1;
            DateTime end2   = start2.AddDays(1);

            TimePeriodCollection periods         = new TimePeriodCollection();
            TimeLine <TimeRange> timeLineMoments = new TimeLine <TimeRange>(periods, null, null);

            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start1, start1));
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);

            periods.Add(new TimeRange(start1, end1));
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start1, end1));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start1.AddHours(1), end1.AddHours(1)));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start1.AddHours(-1), end1.AddHours(-1)));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start1.AddHours(-1), end1.AddHours(+1)));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start1.AddHours(+1), end1.AddHours(-1)));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start2, end2));
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Add(new TimeRange(start2, end2.AddHours(1)));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);

            periods.Add(new TimeRange(start2, end2.AddHours(-1)));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());
            periods.RemoveAt(periods.Count - 1);

            periods.Add(new TimeRange(start1, end2));
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());

            periods.RemoveAt(0);
            Assert.AreEqual(true, timeLineMoments.HasOverlaps());

            periods.RemoveAt(0);
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());

            periods.Clear();
            Assert.AreEqual(false, timeLineMoments.HasOverlaps());
        }         // HasOverlapsTest