コード例 #1
0
        public void GivenHotelOptionsReturnCheapestHotel()
        {
            hotelSystem.AddHotel(new Hotel("Lakewood", 110));
            hotelSystem.AddHotel(new Hotel("Bridgewood", 160));
            hotelSystem.AddHotel(new Hotel("Ridgewood", 220));
            string[] dates         = "10Dec2020,11Dec2020".Split(",");
            Hotel    cheapestHotel = hotelSystem.GetCheapestHotel(dates);

            Assert.AreEqual("Lakewood", cheapestHotel.name);
        }
コード例 #2
0
        public void GivenHotelOptionsReturnCheapestHotelForRegularCustomer()
        {
            RegularCustomer regularCustomer = new RegularCustomer();

            hotelSystem.AddHotel(new Hotel("Lakewood", 10000, regularCustomer));
            hotelSystem.AddHotel(new Hotel("Bridgewood", 5000, regularCustomer));
            hotelSystem.AddHotel(new Hotel("Ridgewood", 20000, regularCustomer));
            string[] dates         = "10Dec2020,11Dec2020".Split(",");
            Hotel    cheapestHotel = hotelSystem.GetCheapestHotel(dates);

            Assert.AreEqual("Bridgewood", cheapestHotel.name);
        }
コード例 #3
0
        public void Given_NullDates_Should_Return_HotelReservationException()
        {
            hotelSystem.AddHotel(new Hotel("Lakewood", 110, 90, 80, 80, 3));
            hotelSystem.AddHotel(new Hotel("Bridgewood", 150, 50, 110, 150, 4));
            hotelSystem.AddHotel(new Hotel("Ridgewood", 220, 150, 100, 40, 5));

            string[] dates = null;

            var exception = Assert.ThrowsException <HotelReservationException>(() => hotelSystem.GetCheapestHotel(dates));

            Assert.AreEqual(HotelReservationException.ExceptionType.NULL_DATES, exception.type);
        }