print('The mileage is ' + str(car4.getMileage())) + 'kms'
car4.engineSize = '2.9'
print 'The engine size is ' + car4.engineSize

car4.setNumberOfFuelCylinders(3)
print('The number of fuel cylinders is ' + str(car4.getNumberOfFuelCylinders()))


# Car5 is calling a DieselCar objects and will implement its functions and variables.  Similar to other class'
# the car sets a model and returns it in this case Mercedes Benz, the colour is set as silver, the mileage is
# 1000 and increased by 40 to 1040 as the mileage returned, the engineSize is 3.2 and the car uses 5 cylinders.
car5 = DieselCar()
car5.setMake('Mercedes Benz')
print '\nOur diesel option is ' + car4.getMake()

car5.setColour('Silver')
print('The colour is ' + car5.getColour())

car5.setMileage(1000)
car5.move(40)
print('The mileage is ' + str(car5.getMileage())) + 'kms'
car5.engineSize = '3.2'
print 'The engine size is ' + car5.engineSize

car5.setNumberOfFuelCylinders(5)
print('The number of fuel cylinders is ' + str(car5.getNumberOfFuelCylinders()))


# Creating a Dealership class that inherits from object.  Creates a private function called init.  Basic naming
# functions for private functions is init or foo.  Next 4 lists are created 1 for each type of car.  Also a list
# is created called rental_cars for cars currently on rental.
示例#2
0
#Petrol car details.
carP = PetrolCar()
carP.setMake("Volkswagen Beetle")
carP.setColour("Blue")
carP.setNumberCylinders(4)
carP.setMileage(1000)
print " Make of Petrol car is      :" + carP.getMake()
print " Colour of the car is       :" + carP.getColour()
print " Number of cylinders        :" + str(carP.getNumberCylinders())
print " Mileage of Petrol car is   :" + str(carP.getMileage())
print "_________________________________________"

#Diesel car details.
carD = DieselCar()
carD.setMake("Audi Q7")
carD.setColour("Silver")
carD.setNumberCylinders(4)
carD.setMileage(500)
print " Make of Diesel car is      :" + carD.getMake()
print " Colour of the car is       :" + carD.getColour()
print " Number of cylinders        :" + str(carD.getNumberCylinders())
print " Milegae of Diesel car is   :" + str(carD.getMileage())
print "_________________________________________"

#Electric car details.
carE = ElectricCar()
carE.setMake("Nissan Leaf")
carE.setColour("Green")
carE.setNumberFuelCells(4)
carE.setMileage(450)
print " Make of Electric car is    :" + carE.getMake()
示例#3
0
car2.setModel('Yaris')
car2.setColour('Green')
car2.setMileage(653)
car2.setNumberCylinders(4)
print 'Petrol car type: ' + car2.getMake()
print 'Model: ' + car2.getModel()
print 'Colour: ' + car2.getColour()
print 'Number of cylinders: ' + str(car2.getNumberCylinders())
print 'Mileage on the clock: ' + str(car2.getMileage())
print '------------------'

# Diesel car
car3 = DieselCar()
car3.setMake('Ford')
car3.setModel('Mondeo')
car3.setColour('Black')
car3.setMileage(2500)
car3.setNumberDieselCylinders(6)
print 'Diesel car type: ' + car3.getMake()
print 'Model: ' + car3.getModel()
print 'Colour: ' + car3.getColour()
print 'Number of cylinders: ' + str(car3.getNumberDieselCylinders())
print 'Mileage on the clock: ' + str(car3.getMileage())
print '------------------'

# Hybrid car
car4 = HybridCar()
car4.setMake('Ford')
car4.setModel('Fusion Hybrid')
car4.setColour('Blue')
car4.setMileage(600)
class TestDieselCar(unittest.TestCase):
    def setUp(self):
        # The DieselCar calls itself using self.
        self.diesel_car = DieselCar()

    def test_DieselCar_fuel_cylinders(self):
        # This tests fuel_cylinders for a DieselCar class similar to a petrol car however the default value for
        # number of cylinders is higher for diesel.  Then setNumberOfFuelCylinders method calls the function
        # from the base class DieselCar to change the value to 8.  This is tested and confirmed to be true.
        # The next tests test cylinders for the values 2 and 4 which are confirmed in the test cases as true.
        self.assertEqual(5, self.diesel_car.getNumberOfFuelCylinders())
        self.diesel_car.setNumberOfFuelCylinders(8)
        self.assertEqual(8, self.diesel_car.getNumberOfFuelCylinders())
        self.diesel_car.setNumberOfFuelCylinders(2)
        self.assertEqual(2, self.diesel_car.getNumberOfFuelCylinders())
        self.diesel_car.setNumberOfFuelCylinders(4)
        self.assertEqual(4, self.diesel_car.getNumberOfFuelCylinders())

    def test_DieselCar_mileage_and_move(self):
        # Function for testing the mileage of a DieselCar class.  As with other cars the default value is 0.
        # The move function is called taking the value 8.  This moves the car by 8km's.  Next it is increased
        # by 20 to make 28, tested with increasing by 0 and remains 28.  The setMileage function calls the function
        # in the DieselCar class which inherits the function from the Car class.  This sets mileage at 30 which is
        # tested and is true and lastly move by 7.5 to increase mileage to 37.5 which is tested and is true.
        self.assertEqual(0, self.diesel_car.getMileage())
        self.diesel_car.move(8)
        self.assertEqual(8, self.diesel_car.getMileage())
        self.diesel_car.move(20)
        self.assertEqual(28, self.diesel_car.getMileage())
        self.diesel_car.move(0)
        self.assertEqual(28, self.diesel_car.getMileage())
        self.diesel_car.setMileage(30)
        self.assertEqual(30, self.diesel_car.getMileage())
        self.diesel_car.move(7.5)
        self.assertEqual(37.5, self.diesel_car.getMileage())

    def test_DieselCar_make(self):
        # Testing make function for DieselCar.
        self.assertEqual(' ', self.diesel_car.getMake())
        self.diesel_car.setMake('Chevy')
        self.assertEqual('Chevy', self.diesel_car.getMake())
        self.diesel_car.setMake('Chevy Impala')
        self.assertEqual('Chevy Impala', self.diesel_car.getMake())
        self.diesel_car.setMake('Chevrolet Silverado 2500 HD')
        self.assertEqual('Chevrolet Silverado 2500 HD', self.diesel_car.getMake())

    def test_DieselCar_engineSize(self):
        # Testing engineSize for DieselCar class.
        self.assertEqual(' ', self.diesel_car.getEngineSize())
        self.diesel_car.setEngineSize(3.3)
        self.assertEqual(3.3, self.diesel_car.getEngineSize())
        self.diesel_car.setEngineSize(3.5)
        self.assertEqual(3.5, self.diesel_car.getEngineSize())

    def test_DieselCar_colour_and_paint(self):
        # Testing colour and paint for DieselCar Class.
        self.assertEqual(' ', self.diesel_car.getColour())
        self.diesel_car.paint('silver')
        self.assertEqual('silver', self.diesel_car.getColour())
        self.diesel_car.setColour('white')
        self.assertEqual('white', self.diesel_car.getColour())

    class TestHybridCar(unittest.TestCase):
        def setUp(self):
            # The HybridCar calls itself using self.
            self.hybrid_car = HybridCar()

        def test_HybridCar_fuel_cylinders(self):
            # Similar to petrol and diesel except default value is 1.  The default value is tested as well as 4, 6
            # and 3 which all result in true.
            self.assertEqual(1, self.hybrid_car.getNumberOfFuelCylinders())
            self.hybrid_car.setNumberOfFuelCylinders(4)
            self.assertEqual(4, self.hybrid_car.getNumberOfFuelCylinders())
            self.hybrid_car.setNumberOfFuelCylinders(6)
            self.assertEqual(6, self.hybrid_car.getNumberOfFuelCylinders())
            self.hybrid_car.setNumberOfFuelCylinders(3)
            self.assertEqual(3, self.hybrid_car.getNumberOfFuelCylinders())

        def test_HybridCar_fuel_cells(self):
            # Similar to ElectricCar test_car_fuel_cells.  The default value 1 is tested as well as 4 and 2.
            self.assertEqual(1, self.hybrid_car.getNumberOfFuelCells())
            self.hybrid_car.setNumberOfFuelCells(4)
            self.assertEqual(4, self.hybrid_car.getNumberOfFuelCells())
            self.hybrid_car.setNumberOfFuelCells(2)
            self.assertEqual(2, self.hybrid_car.getNumberOfFuelCells())

        def test_HybridCar_mileage_and_move(self):
            # As in other cases testing the mileage default value.  Then entering a value for move to ensure
            # it moves that amount to test the mileage of a car.  The car is moved by 7.7 to make 19.7 moved 0
            # output stays the same and lastly setMileage is tested with a value of 15 which is true.
            self.assertEqual(0, self.hybrid_car.getMileage())
            self.hybrid_car.move(12)
            self.assertEqual(12, self.hybrid_car.getMileage())
            self.hybrid_car.move(7.7)
            self.assertEqual(19.7, self.hybrid_car.getMileage())
            self.hybrid_car.move(0)
            self.assertEqual(19.7, self.hybrid_car.getMileage())
            self.hybrid_car.setMileage(15)
            self.assertEqual(15, self.hybrid_car.getMileage())

        def test_HybridCar_make(self):
            # Testing make function for HybridCar.
            self.assertEqual(' ', self.hybrid_car.getMake())
            self.hybrid_car.setMake('Chevrolet Malibu')
            self.assertEqual('Chevrolet Malibu', self.hybrid_car.getMake())
            self.hybrid_car.setMake('Chevrolet Cruz')
            self.assertEqual('Chevrolet Cruz', self.hybrid_car.getMake())

        def test_HybridCar_engineSize(self):
            # Testing engineSize for HybridCar.
            self.assertEqual(' ', self.hybrid_car.getEngineSize())
            self.hybrid_car.setEngineSize(1.6)
            self.assertEqual(1.6, self.hybrid_car.getEngineSize())
            self.hybrid_car.setEngineSize(1.8)
            self.assertEqual(1.8, self.hybrid_car.getEngineSize())

        def test_HybridCar_colour_and_paint(self):
            # Testing colour and paint for HybridCar.
            self.assertEqual(' ', self.hybrid_car.getColour())
            self.hybrid_car.paint('red')
            self.assertEqual('red', self.hybrid_car.getColour())
            self.hybrid_car.setColour('light blue')
            self.assertEqual('light blue', self.hybrid_car.getColour())