示例#1
0
        public void TestFindCheapestHotelInDateRangeRegularCustomersMethodByPassingTwoDatesAndHotelListAndGettingTotalCost()
        {
            List <Hotel> hotelList = new List <Hotel>();
            Hotel        hotel     = new Hotel()
            {
                hotelName = "Lakewood", regularRate = 110, regularRateWeekend = 90, rating = 3, rewardRate = 80, rewardRateWeekend = 80
            };

            hotelList.Add(hotel);
            hotel = new Hotel()
            {
                hotelName = "Bridgewood", regularRate = 150, regularRateWeekend = 50, rating = 4, rewardRate = 110, rewardRateWeekend = 50
            };
            hotelList.Add(hotel);
            hotel = new Hotel()
            {
                hotelName = "Ridgewood", regularRate = 220, regularRateWeekend = 150, rating = 5, rewardRate = 100, rewardRateWeekend = 40
            };
            hotelList.Add(hotel);

            DateTime endDate   = Convert.ToDateTime("09/12/2020");
            DateTime startDate = Convert.ToDateTime("09/11/2020");

            int actualTotalCost   = ManageHotels.FindCheapestHotelInDateRangeRegularCustomers(startDate, endDate, hotelList);
            int expectedTotalCost = 200;

            Assert.AreEqual(actualTotalCost, expectedTotalCost);
        }
示例#2
0
        public void HappyTestCheckCustomerMethodByPassingTwoDatesAndGettingTrueIfCorrect()
        {
            String customerType = "Reward";
            bool   flag         = ManageHotels.CheckCustomerType(customerType);

            Assert.IsTrue(flag);
        }
示例#3
0
        public void TestAddHotelMethodByPassingAnEmptyListAndMakingItAddHotels()
        {
            List <Hotel> hotelList2 = new List <Hotel>();
            Hotel        hotel      = new Hotel()
            {
                hotelName = "Lakewood", regularRate = 110, regularRateWeekend = 90, rating = 3, rewardRate = 80, rewardRateWeekend = 80
            };

            hotelList2.Add(hotel);
            hotel = new Hotel()
            {
                hotelName = "Bridgewood", regularRate = 150, regularRateWeekend = 50, rating = 4, rewardRate = 110, rewardRateWeekend = 50
            };
            hotelList2.Add(hotel);
            hotel = new Hotel()
            {
                hotelName = "Ridgewood", regularRate = 220, regularRateWeekend = 150, rating = 5, rewardRate = 100, rewardRateWeekend = 40
            };
            hotelList2.Add(hotel);
            List <Hotel> hotelList = new List <Hotel>();

            ManageHotels.AddHotel(hotelList);

            string[] hotelNames = { "Lakewood", "BridgeWood", "RidgeWood" };
            for (int i = 0; i < hotelNames.Length; i++)
            {
                Assert.AreEqual(hotelList[i].hotelName, hotelList2[i].hotelName);
            }
        }
示例#4
0
        public void SadTestCheckCustomerMethodByPassingTwoDatesAndGettingTrueIfCorrect()
        {
            String wrongCustomerType = "WrongCustomerType";
            var    exception         = Assert.ThrowsException <HRSCustomException>(
                () => ManageHotels.CheckCustomerType(wrongCustomerType), "Customer Type is wrong");

            Assert.AreEqual("Customer Type is wrong", exception.Message);
        }
示例#5
0
        public void HappyTestCheckDateMethodByPassingTwoDatesAndGettingTrueIfCorrect()
        {
            DateTime startDate = Convert.ToDateTime("09/11/2020");
            DateTime endDate   = Convert.ToDateTime("09/12/2020");
            bool     flag      = ManageHotels.CheckDate(startDate, endDate);

            Assert.IsTrue(flag);
        }
示例#6
0
        public void SadTestCheckDateMethodByPassingTwoDatesAndGettingTrueIfCorrect()
        {
            DateTime endDate   = Convert.ToDateTime("09/11/2020");
            DateTime startDate = Convert.ToDateTime("09/12/2020");
            //bool flag = ManageHotels.CheckDate(startDate, endDate);
            var exception = Assert.ThrowsException <HRSCustomException>(
                () => ManageHotels.CheckDate(startDate, endDate), "Date range is wrong");

            Assert.AreEqual("Date range is wrong", exception.Message);
        }
        public void GivenInvalidDateRange_IsDateRangeValid_ShouldReturnFalseForRegularcustomer()
        {
            DateTime start    = DateTime.Parse("17Nov2020");
            DateTime end      = DateTime.Parse("12Nov2020");
            bool     expected = false;

            ManageHotels hotelManager = new ManageHotels(CustomerType.REGULAR);
            bool         result       = hotelManager.IsDateRangeValid(start, end);

            Assert.AreEqual(expected, result);
        }
        public void GivenDetailsOf3Hotels_WhenAddedToHotelList_ReturnSizeOfListAs3()
        {
            ManageHotels hotelManager = new ManageHotels(CustomerType.REGULAR);
            int          expected     = 3;

            hotelManager.AddHotel(new Hotel("Lakewood", 110, 90, 80, 80, 3));
            hotelManager.AddHotel(new Hotel("Bridgewood", 160, 60, 110, 150, 4));
            hotelManager.AddHotel(new Hotel("Ridgewood", 220, 150, 100, 40, 5));
            int actual = hotelManager.hotels.Count();

            Assert.AreEqual(expected, actual);
        }
        public void GivenDateRange_FindBestRatedCheapestHotelMethod_ShouldReturnBestRatedFromCheapestHotelsForRegularcustomer()
        {
            DateTime start    = DateTime.Parse("12Nov2020");
            DateTime end      = DateTime.Parse("14Nov2020");
            string   expected = "Ridgewood";

            ManageHotels hotelManager = new ManageHotels(CustomerType.REGULAR);

            hotelManager.AddHotel(new Hotel("Lakewood", 110, 90, 80, 80, 3));
            hotelManager.AddHotel(new Hotel("Bridgewood", 160, 60, 110, 150, 4));
            hotelManager.AddHotel(new Hotel("Ridgewood", 110, 90, 100, 40, 5));
            List <Hotel> cheapestHotelsList = hotelManager.FindCheapestBestRatedHotel(start, end);

            Assert.AreEqual(expected, cheapestHotelsList[0].name);
        }
        public void GivenDateRange_FindCheapestHotelInAGivenDateRangeMethod_ShouldReturnCheapestHotelForRewardCustomer()
        {
            DateTime start    = DateTime.Parse("12Nov2020");
            DateTime end      = DateTime.Parse("14Nov2020");
            string   expected = "Lakewood";

            ManageHotels hotelManager = new ManageHotels(CustomerType.REWARD);

            hotelManager.AddHotel(new Hotel("Lakewood", 110, 90, 80, 80, 3));
            hotelManager.AddHotel(new Hotel("Bridgewood", 160, 60, 110, 150, 4));
            hotelManager.AddHotel(new Hotel("Ridgewood", 220, 150, 100, 40, 5));
            List <Hotel> cheapestHotels = hotelManager.FindCheapestHotelInAGivenDateRange(start, end);

            Assert.AreEqual(expected, cheapestHotels[0].name);
        }
        public void GivenDateRange_FindCheapestHotelInAGivenDateRangeMethod_ShouldReturnAllAvailableCheapestHotelsForRegularcustomer()
        {
            DateTime start = DateTime.Parse("12Nov2020");
            DateTime end   = DateTime.Parse("14Nov2020");

            string[] expected = { "Lakewood", "Ridgewood" };

            ManageHotels hotelManager = new ManageHotels(CustomerType.REGULAR);

            hotelManager.AddHotel(new Hotel("Lakewood", 110, 90, 80, 80, 3));
            hotelManager.AddHotel(new Hotel("Bridgewood", 160, 60, 110, 150, 4));
            hotelManager.AddHotel(new Hotel("Ridgewood", 110, 90, 100, 40, 5));
            List <Hotel> cheapestHotelsList = hotelManager.FindCheapestHotelInAGivenDateRange(start, end);

            string[] cheapestHotelsArray = cheapestHotelsList.Select(hotel => hotel.name).ToArray();

            CollectionAssert.AreEqual(expected, cheapestHotelsArray);
        }
        public void GivenDateRange_FindBestRatedHotelMethod_ShouldReturnAllBestRatedHotelsForRewardCustomer()
        {
            DateTime start = DateTime.Parse("12Nov2020");
            DateTime end   = DateTime.Parse("14Nov2020");

            string[] expected = { "Ridgewood" };

            ManageHotels hotelManager = new ManageHotels(CustomerType.REWARD);

            hotelManager.AddHotel(new Hotel("Lakewood", 110, 90, 80, 80, 3));
            hotelManager.AddHotel(new Hotel("Bridgewood", 160, 60, 110, 150, 4));
            hotelManager.AddHotel(new Hotel("Ridgewood", 110, 90, 100, 40, 5));
            List <Hotel> bestHotelsList = hotelManager.FindCheapestBestRatedHotel(start, end);

            string[] bestHotelsArray = bestHotelsList.Select(hotel => hotel.name).ToArray();

            CollectionAssert.AreEqual(expected, bestHotelsArray);
        }