Пример #1
0
        public void IsFreeOnPeriodInsideAnotherPeriod_ShouldBeFalse()
        {
            var carSchedule = new CarSchedule(new[]
            {
                new CarOccupation(new DatePeriod(
                                      new DateTimeOffset(2016, 1, 1, 0, 0, 0, TimeSpan.Zero),
                                      new DateTimeOffset(2016, 6, 1, 0, 0, 0, TimeSpan.Zero)),
                                  OccupationStatus.Rented)
            });

            var isFree = carSchedule.IsFreeOnPeriod(new DatePeriod(
                                                        new DateTimeOffset(2016, 3, 1, 0, 0, 0, TimeSpan.Zero),
                                                        new DateTimeOffset(2016, 4, 1, 0, 0, 0, TimeSpan.Zero)));

            Assert.IsFalse(isFree);
        }
Пример #2
0
        public void IsFreeOnPeriodCrossingOnePeriod_ShouldBeFalse()
        {
            var carSchedule = new CarSchedule(new[]
            {
                new CarOccupation(new DatePeriod(
                                      new DateTimeOffset(2016, 1, 1, 0, 0, 0, TimeSpan.Zero),
                                      new DateTimeOffset(2016, 6, 1, 0, 0, 0, TimeSpan.Zero)),
                                  OccupationStatus.Rented)
            });

            var isFree = carSchedule.IsFreeOnPeriod(
                new DatePeriod(
                    new DateTimeOffset(2015, 11, 15, 0, 0, 0, TimeSpan.Zero),
                    new DateTimeOffset(2016, 2, 10, 0, 0, 0, TimeSpan.Zero)));

            Assert.IsFalse(isFree);
        }
Пример #3
0
        public void IsFreeOnPeriodBetweenTwoPeriods_ShouldBeTrue()
        {
            var carSchedule = new CarSchedule(new[]
            {
                new CarOccupation(
                    new DatePeriod(
                        new DateTimeOffset(2016, 1, 1, 0, 0, 0, TimeSpan.Zero),
                        new DateTimeOffset(2016, 6, 1, 0, 0, 0, TimeSpan.Zero)),
                    OccupationStatus.Rented),
                new CarOccupation(
                    new DatePeriod(
                        new DateTimeOffset(2017, 3, 2, 0, 0, 0, TimeSpan.Zero),
                        new DateTimeOffset(2017, 5, 1, 0, 0, 0, TimeSpan.Zero)),
                    OccupationStatus.Rented)
            });

            var isFree = carSchedule.IsFreeOnPeriod(new DatePeriod(
                                                        new DateTimeOffset(2016, 8, 1, 0, 0, 0, TimeSpan.Zero),
                                                        new DateTimeOffset(2016, 10, 5, 0, 0, 0, TimeSpan.Zero)));

            Assert.IsTrue(isFree);
        }