Пример #1
0
    def test_car_fleet(self):
        car_fleet = CarFleet()
        self.assertEqual(0, car_fleet.getProfit())
        self.assertEqual(40, car_fleet.getNumAvailable())

        car_fleet.rentCar(5)
        self.assertEqual(100, car_fleet.getProfit())
        self.assertEqual(35, car_fleet.getNumAvailable())

        car_fleet.returnCar(2)
        self.assertEqual(37, car_fleet.getNumAvailable())

        car_fleet.returnCar(3)
        self.assertEqual(40, car_fleet.getNumAvailable())

        car_fleet.returnCar(3)
        car_fleet.rentCar(50)
Пример #2
0
    def test_car_fleet(self):
        car_fleet = CarFleet()
        self.assertEqual(40, car_fleet.getNumAvailable())

        car_fleet.rentCar(20)
        self.assertEqual(20, car_fleet.getNumAvailable())

        car_fleet.returnCar(5)
        self.assertEqual(25, car_fleet.getNumAvailable())

        car_fleet.returnCar(5)
        self.assertEqual(30, car_fleet.getNumAvailable())

        car_fleet.rentCar(7)
        self.assertEqual(23, car_fleet.getNumAvailable())

        car_fleet.returnCar(10)
        car_fleet.rentCar(33)
Пример #3
0
class TestCarFleet(unittest.TestCase):
    #Test car fleet functionality
    def setUp(self):
        #TestCarFleet setup
        try:
            self.__data = pandas.read_csv('carstock.csv')
            # print(self.__data)

            self.__car_fleet = CarFleet();

            # print("Filling cars fleet")
            for car_data in self.__data.itertuples():
                # print car_data
                car = Car(car_data.Make, car_data.Model, car_data.Year, car_data.Size,
                            car_data.Body_Type, car_data.Door_No, car_data.Capacity,
                            car_data._8 , car_data._9)

                self.assertEqual(car_data.Make, car.getMake())
                self.assertEqual(car_data.Model, car.getModel())
                self.assertEqual(car_data.Year, car.getYear())
                self.assertEqual(car_data.Size, car.getSize())
                self.assertEqual(car_data.Body_Type, car.getBodyType())
                self.assertEqual(car_data.Door_No, car.getDoorNo())
                self.assertEqual(car_data.Capacity, car.getCapacity())
                self.assertEqual(car_data._8, car.getEngine())
                self.assertEqual(car_data._9, car.getTransmition())

                fleet_size = self.__car_fleet.getNumAvailable();
                self.__car_fleet.registerCar(car)
                self.assertEquals(fleet_size + 1, self.__car_fleet.getNumAvailable())

        except NameError as ex:
            print("\n")
            print("WARNING: pandas lib is required to load csv files")
            print("no cars data was be loaded!\n")
        except Exception:
            print("\n")
            print("WARNING: carstock.csv not found.")

            import os
            dir_path = os.path.dirname(os.path.realpath(__file__))

            print(" be sure of coping it in: " + dir_path + os.path.sep + "carstock.csv")
            print("no cars data was be loaded!\n")

        # print(self.__car_fleet)

    def test_rent_return_one_car(self):
        #Rent and return one car
        available = self.__car_fleet.getNumAvailable();
        rented = self.__car_fleet.getNumRented();
        profit = self.__car_fleet.getProfit();
        rent_index = self.__car_fleet.rentCar(0)
        self.assertEqual(available - 1, self.__car_fleet.getNumAvailable())
        self.assertEqual(rented + 1, self.__car_fleet.getNumRented())

        self.assertEqual(profit + 20, self.__car_fleet.getProfit())

        self.__car_fleet.returnCar(rent_index);

        self.assertEqual(available, self.__car_fleet.getNumAvailable())
        self.assertEqual(rented, self.__car_fleet.getNumRented())

    def test_rent_all_cars(self):
        #Rent all cars and one more
        while self.__car_fleet.getNumAvailable() > 0:
            available = self.__car_fleet.getNumAvailable();
            rented = self.__car_fleet.getNumRented();
            profit = self.__car_fleet.getProfit();
            self.__car_fleet.rentCar(0)
            self.assertEqual(available - 1, self.__car_fleet.getNumAvailable())
            self.assertEqual(rented + 1, self.__car_fleet.getNumRented())

            self.assertEqual(profit + 20, self.__car_fleet.getProfit())

        # and one more
        result = self.__car_fleet.rentCar(0)
        # print (result)
        self.assertEqual("Sorry nothing to rent, please try again", result)
Пример #4
0
    user_opt = int(user_opt)
    if user_opt == 1:
        index = raw_input(
            "Enter a number of choice from the list 1-41. When you have made your choice input the number: "
        )
        index = int(index)
        result = car_fleet.rentCar(index)
        if type(result) is int:
            car = car_fleet.getRentedCar(result)
            print("A {0}, nice choice!".format(car))
            print("Your RentACar choice is {0}, enjoy.".format(result))
        else:
            print(result)
    elif user_opt == 2:
        index = raw_input("Enter car number from the list provided: ")
        index = int(index)
        result = car_fleet.rentCar(index)
        print("Thanks.")
    elif user_opt == 3:
        print("Cars available\n")
        for i in range(1, car_fleet.getNumAvailable()):
            car = car_fleet.getAvailableCar(i)
            print(car)
    elif user_opt == 4:
        print("Cars rented\n")
        for i in range(0, car_fleet.getNumRented()):
            car = car_fleet.getRentedCar(i)
            print(car)

print("Have a nice day")