コード例 #1
0
class TestSmallCar():
    def _createCar(self):
        self.car = SmallCar(1, 2, 3, 4)

    def test_create(self):
        self._createCar()
        assert (self.car.type == "Small")
        assert (self.car.make == 1)
        assert (self.car.model == 2)
        assert (self.car.year == 3)
        assert (self.car.rego == 4)

    def test_rate(self):
        self._createCar()
        rate = self.car.rate
        assert (self.car.calculatePrice(1) == 1 * rate)
        assert (self.car.calculatePrice(2) == 2 * rate)
        assert (self.car.calculatePrice(3) == 3 * rate)
        assert (self.car.calculatePrice(4) == 4 * rate)
        assert (self.car.calculatePrice(5) == 5 * rate)
        assert (self.car.calculatePrice(6) == 6 * rate)
        assert (self.car.calculatePrice(7) == 7 * rate)

        # No discount for small cars rented past a week
        assert (self.car.calculatePrice(8) == 8 * rate)
コード例 #2
0
def test_add_cars():
    lookup = SmallCar("Mazda", "Falcon", 2019, 1)
    CRS.add_car(lookup)
    CRS.add_car(MediumCar("Mazda", "Falcon", 2019, 2))
    CRS.add_car(LargeCar("Mazda", "Falcon", 2019, 3))
    CRS.add_car(SmallCar("Mazda", "Commodore", 2019, 4))
    CRS.add_car(MediumCar("Mazda", "Commodore", 2019, 5))
    CRS.add_car(LargeCar("Mazda", "Commodore", 2019, 6))
    CRS.add_car(SmallCar("Holden", "Falcon", 2019, 7))
    CRS.add_car(MediumCar("Holden", "Falcon", 2019, 8))
    CRS.add_car(LargeCar("Holden", "Falcon", 2019, 9))
    CRS.add_car(SmallCar("Holden", "Commodore", 2019, 10))
    CRS.add_car(MediumCar("Holden", "Commodore", 2019, 11))
    CRS.add_car(LargeCar("Holden", "Commodore", 2019, 12))
    CRS.add_car(SmallCar("Ford", "Falcon", 2019, 13))
    CRS.add_car(MediumCar("Ford", "Falcon", 2019, 14))
    CRS.add_car(LargeCar("Ford", "Falcon", 2019, 15))
    CRS.add_car(SmallCar("Ford", "Commodore", 2019, 16))
    CRS.add_car(MediumCar("Ford", "Commodore", 2019, 17))
    CRS.add_car(LargeCar("Ford", "Commodore", 2019, 18))
    CRS.add_car(PremiumCar("Tesla", "model x", 2019, 19))
    CRS.add_car(PremiumCar("Tesla", "A4", 2019, 20))
    CRS.add_car(PremiumCar("Tesla", "S class", 2019, 21))
    CRS.add_car(PremiumCar("Audi", "model x", 2019, 22))
    CRS.add_car(PremiumCar("Audi", "A4", 2019, 23))
    CRS.add_car(PremiumCar("Audi", "S class", 2019, 24))

    print("\n\n> Try to find car with valid rego")
    rego = 1
    print(f"Looking for car with rego {rego}")
    car = CRS.get_car(rego)
    print(f"Returned: {car} (Expected: {None})")
    print(f"Test: {car is None}")
    assert (car is lookup)
コード例 #3
0
def rental_fixture():
    rego_generator = IdGenerator()
    licence_generator = IdGenerator()
    for name in ["Mazda", "Holden", "Ford"]:
        for model in ["Falcon", "Commodore"]:
            system.add_car(SmallCar(name, model, rego_generator.next()))
            system.add_car(MediumCar(name, model, rego_generator.next()))
            system.add_car(LargeCar(name, model, rego_generator.next()))

    for name in ["Tesla", "Audi"]:
        for model in ["model x", "A4", "S class"]:
            system.add_car(PremiumCar(name, model, rego_generator.next()))

    for name in ["Matt", "Isaac", "Taylor"]:
        system.add_customer(Customer(name, licence_generator.next()))

    return system
コード例 #4
0
 def _createCar(self):
     self.car = SmallCar(1, 2, 3, 4)
コード例 #5
0
ファイル: client.py プロジェクト: mcluvine/UNSW-COMP1531
from customer import Customer
from car import SmallCar, MediumCar, LargeCar, PremiumCar
from car_rental_system import CarRentalSystem
from location import Location

# Populate the system
CRS = CarRentalSystem()

# Add customers
CRS.add_customer(Customer("Matt", 18, 1, "*****@*****.**"))
CRS.add_customer(Customer("Isaac", 31, 2, "*****@*****.**"))
CRS.add_customer(Customer("Taylor", 27, 3, "*****@*****.**"))

# Add cars
CRS.add_car(SmallCar("Mazda", "Falcon", 2019, 1))
CRS.add_car(MediumCar("Mazda", "Falcon", 2019, 2))
CRS.add_car(LargeCar("Mazda", "Falcon", 2019, 3))
CRS.add_car(SmallCar("Mazda", "Commodore", 2019, 4))
CRS.add_car(MediumCar("Mazda", "Commodore", 2019, 5))
CRS.add_car(LargeCar("Mazda", "Commodore", 2019, 6))
CRS.add_car(SmallCar("Holden", "Falcon", 2019, 7))
CRS.add_car(MediumCar("Holden", "Falcon", 2019, 8))
CRS.add_car(LargeCar("Holden", "Falcon", 2019, 9))
CRS.add_car(SmallCar("Holden", "Commodore", 2019, 10))
CRS.add_car(MediumCar("Holden", "Commodore", 2019, 11))
CRS.add_car(LargeCar("Holden", "Commodore", 2019, 12))
CRS.add_car(SmallCar("Ford", "Falcon", 2019, 13))
CRS.add_car(MediumCar("Ford", "Falcon", 2019, 14))
CRS.add_car(LargeCar("Ford", "Falcon", 2019, 15))
CRS.add_car(SmallCar("Ford", "Commodore", 2019, 16))
CRS.add_car(MediumCar("Ford", "Commodore", 2019, 17))
コード例 #6
0
class IdGenerator():
    def __init__(self):
        self._id = 0

    def next(self):
        self._id += 1
        return self._id


rego_generator = IdGenerator()
licence_generator = IdGenerator()

for name in ["Mazda", "Holden", "Ford"]:
    for model in ["Falcon", "Commodore"]:
        system.add_car(SmallCar(name, model, rego_generator.next()))
        system.add_car(MediumCar(name, model, rego_generator.next()))
        system.add_car(LargeCar(name, model, rego_generator.next()))

for name in ["Tesla", "Audi"]:
    for model in ["model x", "A4", "S class"]:
        system.add_car(PremiumCar(name, model, rego_generator.next()))

for name in ["Matt", "Isaac", "Taylor"]:
    system.add_customer(Customer(name, licence_generator.next()))

print('~~~ Print all customers ~~~')
print('\n'.join(str(c) for c in system.customers))

print('\n~~~ Print all cars ~~~')
print('\n'.join(str(c) for c in system.cars))