def process_returnCar(self): answer = raw_input(' would you like to return a car? Yes: "Y", No: "N" : ') if answer == 'y': answer = raw_input(' what car are you returning? Petrol: "p" , Electric: "e" , Diesel: "d" , Hybrid: "h" : ') amount = int(raw_input(' how many are you returning? ')) new_mileage = int(raw_input(' what is the new mileage on your car: ')) if answer == 'p': self.return_car(self.petrol_cars, amount) elif answer == 'e': self.return_car(self.electric_cars, amount) elif answer == 'h': self.return_car(self.hybrid_cars,amount) else: self.return_car(self.diesel_cars, amount) return new_mileage car_fleet = CarFleet() car_fleet.returnCar(amount) if answer == 'n': self.process_rental() self.stock_count()
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)
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)
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)
total = 0 if selection == 'p' and total < 20: self.returns(self.petrol_cars, (total - quantity)) elif selection == 'd' and total < 8: self.returns(self.diesel_cars, (total - quantity)) elif selection == 'h' and total < 8: self.returns(self.hybrid_cars, (total - quantity)) elif selection == 'e' and total < 4: self.returns(self.electric_cars, (total - quantity)) self.stock_count() #Allow users to continue or exit the program dbs_car_rental = DBS_Car_Rental() dbs_car_rental.current_stock() proceed = 'y' while proceed == 'y': dbs_car_rental.process_rental() proceed = raw_input('Enter y to continue or n to quit: ') # Testing rentals and returns, see results in test_car.py file car_fleet = CarFleet() car_fleet.rentCar(5) car_fleet.returnCar(2) car_fleet.returnCar(3) car_fleet.rentCar(7) car_fleet.returnCar(3) car_fleet.rentCar(36)