Example #1
0
        public void AddBookings_AlreadyExistingBooking_ThrowsAvailabilityException()
        {
            _sut = Room.Create(1, 1, 10);
            _sut.AddBookings(new[]
            {
                DateTime.Now.Date.AddDays(1),
                DateTime.Now.Date.AddDays(2)
            });

            Assert.Throws <AvailabilityException>(() => _sut.AddBookings(new[]
            {
                DateTime.Now.Date.AddDays(1)
            }));
        }
Example #2
0
        public void AddBookings_BookingForAPastDate_ThrowsAvailabilityException()
        {
            _sut = Room.Create(1, 1, 10);

            var pastDateTime = DateTime.Now.AddDays(-1);

            Assert.Throws <AvailabilityException>(() => _sut.AddBookings(new[] { pastDateTime, DateTime.Now.AddDays(1) }));
        }
Example #3
0
        public void SetDatePrices_ChangePriceWhenBookingAlreadyExistsInFromDate_ThrowsAvailabilityException()
        {
            _sut = Room.Create(1, 1, 10);
            _sut.AddBookings(new [] { DateTime.Now.Date.AddDays(1), DateTime.Now.Date.AddDays(2) });

            Assert.Throws <AvailabilityException>(() => _sut.SetDatePrices(new List <Price>()
            {
                Price.Create(DateTime.Now.Date.AddDays(1), 10),
                Price.Create(DateTime.Now.Date.AddDays(4), 10)
            }));
        }
Example #4
0
        public void AddBookings_AddValidBooking_CreatesBookings()
        {
            _sut = Room.Create(1, 1, 10);
            _sut.AddBookings(new[]
            {
                DateTime.Now.Date.AddDays(1),
                DateTime.Now.Date.AddDays(2)
            });

            Assert.IsNotNull(_sut.BookedSlots);
            Assert.AreEqual(2, _sut.BookedSlots.Count());
        }