Ejemplo n.º 1
0
    def test_returnCar_with_valid_input(self):
        # create a customer
        customer = Customer()

        # create valid rentalTime, rentalBasis, cars
        now = datetime.now()
        customer.rentalTime = now
        customer.rentalBasis = 1
        customer.cars = 4

        self.assertEqual(customer.returnCar(), (now, 1, 4))
Ejemplo n.º 2
0
    def test_returnCar_with_invalid_input(self):
        # create a customer
        customer = Customer()

        # create valid rentalBasis and cars

        customer.rentalBasis = 1
        customer.cars = 0

        # create invalid rentalTime
        customer.rentalTime = 0
        self.assertEqual(customer.returnCar(), (0, 0, 0))
Ejemplo n.º 3
0
    def test_returnCar_for_invalid_rentalBasis(self):
        # create a shop and a customer
        shop = CarRental(10)
        customer = Customer()

        # create valid rentalTime and cars
        customer.rentalTime = datetime.now()
        customer.cars = 3

        # create invalid rentalbasis
        customer.rentalBasis = 8

        request = customer.returnCar()
        self.assertEqual(shop.returnCar(request), 0)
Ejemplo n.º 4
0
    def test_returnCar_for_invalid_numOfCars(self):

        # create a shop and a customer
        shop = CarRental(10)
        customer = Customer()

        # create valid rentalTime and rentalBasis
        customer.rentalTime = datetime.now()
        customer.rentalBasis = 1

        # create invalid cars
        customer.cars = 0

        request = customer.returnCar()
        self.assertIsNone(shop.returnCar(request))
Ejemplo n.º 5
0
    def test_returnCar_for_valid_credentials(self):

        # create a shop and a various customers
        shop = CarRental(50)
        customer1 = Customer()
        customer2 = Customer()
        customer3 = Customer()
        customer4 = Customer()
        customer5 = Customer()
        customer6 = Customer()
        customer7 = Customer()
        customer8 = Customer()

        # create valid rentalBasis for each customer
        customer1.rentalBasis = 1  # hourly
        customer2.rentalBasis = 1  # hourly
        customer3.rentalBasis = 2  # daily
        customer4.rentalBasis = 2  # daily
        customer5.rentalBasis = 3  # weekly
        customer6.rentalBasis = 3  # weekly
        customer7.rentalBasis = 4  # monthly
        customer8.rentalBasis = 4  # monthly

        # create valid cars for each customer
        customer1.cars = 1
        customer2.cars = 5
        customer3.cars = 2
        customer4.cars = 8
        customer5.cars = 15
        customer6.cars = 30
        customer7.cars = 4
        customer8.cars = 10

        # create past valid rental times for each customer

        customer1.rentalTime = datetime.now() + timedelta(hours=-4)
        customer2.rentalTime = datetime.now() + timedelta(hours=-23)
        customer3.rentalTime = datetime.now() + timedelta(days=-4)
        customer4.rentalTime = datetime.now() + timedelta(days=-13)
        customer5.rentalTime = datetime.now() + timedelta(weeks=-6)
        customer6.rentalTime = datetime.now() + timedelta(weeks=-12)
        customer5.rentalTime = datetime.now() + timedelta(months=-2)
        customer5.rentalTime = datetime.now() + timedelta(months=-4)

        # make all customers return their cars
        request1 = customer1.returnCar()
        request2 = customer2.returnCar()
        request3 = customer3.returnCar()
        request4 = customer4.returnCar()
        request5 = customer5.returnCar()
        request6 = customer6.returnCar()
        request7 = customer7.returnCar()
        request8 = customer8.returnCar()

        # check if all of them get correct bill
        self.assertEqual(shop.returnCar(request1), 80)
        self.assertEqual(shop.returnCar(request2), 2300)
        self.assertEqual(shop.returnCar(request3), 1200)
        self.assertEqual(shop.returnCar(request4), 15600)
        self.assertEqual(shop.returnCar(request5), 58500)
        self.assertEqual(shop.returnCar(request6), 234000)
        self.assertEqual(shop.returnCar(request7), 58500)
        self.assertEqual(shop.returnCar(request8), 234000)