예제 #1
0
        public void GetFullyOccupiedDates_StartDateAfterEndDate_ThrowsArgumentException()
        {
            var StartDate = DateTime.Today.AddDays(1);
            var EndDate   = DateTime.Today;

            Assert.Throws <ArgumentException>(() => bookingManager.GetFullyOccupiedDates(StartDate, EndDate));
        }
예제 #2
0
        public void GetFullyOccupiedDates_InvalidData_ThrowsException()
        {
            var startDate = DateTime.Today.AddDays(2);
            var endDate   = DateTime.Today.AddDays(1);

            MockRepositoryWithData();
            Assert.Throws <ArgumentException>(() => mana.GetFullyOccupiedDates(startDate, endDate));
        }
        public void GetFullyOccupiedDates_StartDateLaterThanEndDate_ThrowsException()
        {
            // Arrange
            var startDate = DateTime.Today.AddDays(2);
            var endDate   = DateTime.Today.AddDays(1);

            // Assert
            Assert.Throws <ArgumentException>(() => bookingManager.GetFullyOccupiedDates(startDate, endDate));
        }
예제 #4
0
        public void GetFullyOccupiedDates_FullyOccupiedDates_ListOfFour()
        {
            // Arange
            DateTime startDate = DateTime.Today.AddDays(10);
            DateTime endDate   = DateTime.Today.AddDays(13);

            var bookingRepo = new Mock <IRepository <Booking> >();

            bookingRepo.Setup(b => b.GetAll());

            var roomRepo = new Mock <IRepository <Room> >();

            roomRepo.Setup(r => r.GetAll());

            BookingManager mgr = new BookingManager(bookingRepo.Object, roomRepo.Object);

            List <DateTime> fullyOccupiedDates = new List <DateTime>();

            fullyOccupiedDates.Add(startDate);
            fullyOccupiedDates.Add(startDate.AddDays(1));
            fullyOccupiedDates.Add(startDate.AddDays(2));
            fullyOccupiedDates.Add(startDate.AddDays(3));


            // Act
            var result = bookingManager.GetFullyOccupiedDates(startDate, endDate);

            // Assert
            Assert.Equal(fullyOccupiedDates, result);
        }
        public void GetFullyOccupiedBookings_OnlyReturnBookedRooms(int startDate, int endDate, int expectedOccupiedDates)
        {
            //Arrange
            //Act
            var fullyOccupiedDates = bookingManager.GetFullyOccupiedDates(DateTime.Today.AddDays(startDate), DateTime.Today.AddDays(endDate));

            //Assert
            Assert.Equal(expectedOccupiedDates, fullyOccupiedDates.Count);
        }
예제 #6
0
        // GET: Bookings
        public ActionResult Index(int?id)
        {
            bookingvm.bookings           = bookingRep.GetAll().ToList();
            bookingvm.FullyOccupiedDates = bookingMan.GetFullyOccupiedDates(bookingMan.MinBookingDate(), bookingMan.MaxBookingDate());
            bookingvm.YeatToDisplay      = bookingMan.YearToDisplay(id);


            return(View(bookingvm));
        }
        public void GetFullyOccupiedDates_getAllOccupied_notNull()
        {
            // Arrange
            DateTime startDate = DateTime.Today.AddDays(1);
            DateTime endDate   = DateTime.Today.AddDays(2);
            // Act
            List <DateTime> occupied = bookingManager.GetFullyOccupiedDates(startDate, endDate);

            // Assert
            Assert.NotNull(occupied);
        }
        public void GetFullyOccupiedDates_FoundOccupiedDates_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);

            Assert.NotEqual(new List <DateTime>(), bookingManager.GetFullyOccupiedDates(start, end));
        }
        public void GetFullyOccupiedDates_StartDateBiggerThanEndDate_FirstPath()
        {
            DateTime start = DateTime.Today.AddDays(20);
            DateTime end   = DateTime.Today.AddDays(10);

            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);

            Assert.ThrowsAny <Exception>(() => bookingManager.GetFullyOccupiedDates(start, end));
        }
예제 #10
0
 public void GetFullyOccupideDates_StartDateLaterThanEndDate_ThrowsArgumentException(DateTime start, DateTime end)
 {
     Assert.Throws <ArgumentException>(() => bookingManager.GetFullyOccupiedDates(start, end));
 }
예제 #11
0
        public void GetFullyOccupiedDates_StartDateOlderThanEndDate_ThrowsArgumentException()
        {
            DateTime date = DateTime.Today;

            Assert.Throws <ArgumentException>(() => bookingManager.GetFullyOccupiedDates(date.AddDays(5), date.AddDays(1)));
        }
        public void ThenTheResultusShokuldBe(int p0)
        {
            var result = bookingManager.GetFullyOccupiedDates(Start, End);

            Assert.Equal(result.Count, p0);
        }
 public void WhenIPressFindFullyOccupiedDates()
 {
     amountFullyOccupiedDates = bookingManager.GetFullyOccupiedDates(startDate, endDate).Count;
 }
 public void GetFullyOccupiedDates_ArgumentException()
 {
     Assert.Throws <ArgumentException>(() => bookingManager.GetFullyOccupiedDates(DateTime.Today.AddDays(1), DateTime.Today));
 }