public void FindAvailableRooms_StartDateBiggerThanEndDate_FirstPath()
        {
            var startdate = DateTime.MaxValue;
            var enddate   = DateTime.MinValue;

            Assert.Equal(-1, bookingManager.FindAvailableRoom(startdate, enddate));
        }
예제 #2
0
        public void FindAvailableRoom_RoomNotAvailable_RoomIdMinusOne()
        {
            var StartDate = DateTime.Today.AddDays(11);
            var EndDate   = DateTime.Today.AddDays(12);

            Assert.Equal(-1, bookingManager.FindAvailableRoom(StartDate, EndDate));
        }
예제 #3
0
        public void FindAvailableRooms_InvalidData_ThrowsException()
        {
            var startDate = DateTime.Today.AddDays(-5);
            var endDate   = DateTime.Today.AddDays(-1);

            MockRepositoryWithData();
            Assert.Throws <ArgumentException>(() => mana.FindAvailableRoom(startDate, endDate));
        }
        public void GetAvailableRoomForPeriod_ReturnRoomNoTwo()
        {
            //ARRANGE
            //ACT
            var roomNo = fakeBookingManager.FindAvailableRoom(start.AddDays(-3), start.AddDays(-1));

            //ASSERT
            Assert.Equal(2, roomNo);
        }
        public void FindAvailableRoom_StartDateNotInTheFuture_ThrowsArgumentException()
        {
            // Arrange
            DateTime date = DateTime.Today;

            // Act
            Action act = () => bookingManager.FindAvailableRoom(date, date);

            // Assert
            Assert.Throws <ArgumentException>(act);
        }
예제 #6
0
 public void WhenITryToBook()
 {
     try
     {
         this.RoomId = bookingManager.FindAvailableRoom(BookingStart, BookingEnd);
     } catch (Exception e)
     {
         this.ThrownException = e;
     }
 }
예제 #7
0
        public void ThenTheResultusShouldBe(int p0)
        {
            var booking = new Booking()
            {
                StartDate = Start,
                EndDate   = End
            };

            var result = bookingManager.FindAvailableRoom(booking.StartDate, booking.EndDate);

            Assert.Equal(result, p0);
        }
        public void FindAvailableRoomsCase1_FoundARoom_FourthPath()
        {
            DateTime start = DateTime.Today.AddDays(10);
            DateTime end   = DateTime.Today.AddDays(20);

            Mock <IRepository <Booking> > bookingRepository = new Mock <IRepository <Booking> >();
            Mock <IRepository <Room> >    roomRepository    = new Mock <IRepository <Room> >();

            bookingRepository.Setup(x => x.GetAll()).Returns(new FakeBookingRepository(start, end).GetAll());
            roomRepository.Setup(x => x.GetAll()).Returns(new FakeRoomRepository().GetAll());
            bookingRepository.Setup(x => x.Get(It.IsAny <int>())).Returns(new FakeBookingRepository(start, end).Get(1));

            bookingManager = new BookingManager(bookingRepository.Object, roomRepository.Object);

            var bookingDateStart = DateTime.Today.AddDays(1);
            var bookingDateEnd   = DateTime.Today.AddDays(5);

            int roomId = bookingManager.FindAvailableRoom(bookingDateStart, bookingDateEnd);

            Assert.NotEqual(-1, roomId);
        }
예제 #9
0
 public void FindAvailableRoom_StartDateNotInTheFuture_ThrowsArgumentException(DateTime start, DateTime end)
 {
     Assert.Throws <ArgumentException>(() => bookingManager.FindAvailableRoom(start, end));
 }
        public void FindAvailableRoom_StartDateNotInTheFuture_ThrowsArgumentException()
        {
            DateTime date = DateTime.Today;

            Assert.Throws <ArgumentException>(() => bookingManager.FindAvailableRoom(date, date));
        }