Beispiel #1
0
class ParkController:
    def __init__(self):
        self.park = None

    def createPark(self, slotNumber):
        s = int(slotNumber)
        self.park = Park(s)
        output.createdPark(s)

    def parkCar(self, regNumber, colour):
        i = self.park.addCar(Car(regNumber, colour))
        if (i == -1):
            output.parkedFail()
        else:
            output.parkedSuccessful(i)

    def leaveCar(self, slotNumber):
        self.park.leaveCar(slotNumber)
        output.leaved(slotNumber)

    def status(self):
        data = self.park.status()
        output.status(data)

    def findSlotNumberWithColour(self, colour):
        data = self.park.findSlotNumberWithColor(colour)
        if len(data) == 0:
            output.findFail()
        else:
            output.findSuccessful(data)

    def findSlotNumberWithRegNumber(self, regNumber):
        data = self.park.findSlotNumberWithRegNumber(regNumber)
        if len(data) == 0:
            output.findFail()
        else:
            output.findSuccessful(data)

    def findRegNumberWithColour(self, colour):
        data = self.park.findRegNumberWithColor(colour)
        if len(data) == 0:
            output.findFail()
        else:
            output.findSuccessful(data)
Beispiel #2
0
    def test_park_and_leave(self):
        #prepare
        park = Park(5)
        expectedPark = [
            Car('bbb', 'red'),
            Car('yyy', 'blue'), None,
            Car('aaa', 'blue'), None
        ]

        #execute
        park.addCar(Car('xxx', 'red'))
        park.addCar(Car('yyy', 'blue'))
        park.addCar(Car('zzz', 'green'))
        park.addCar(Car('aaa', 'blue'))
        park.leaveCar(1)
        park.leaveCar(3)
        park.addCar(Car('bbb', 'red'))

        #assert
        self.equalPark(park.park, expectedPark)
Beispiel #3
0
    def test_leave_multi_car(self):
        #prepare
        park = Park(5)
        park.park = [
            Car('xxx', 'red'),
            Car('yyy', 'blue'),
            Car('zzz', 'green'),
            Car('aaa', 'blue'),
            Car('bbb', 'red')
        ]
        expectedPark = [
            None, Car('yyy', 'blue'),
            Car('zzz', 'green'), None, None
        ]

        #execute
        park.leaveCar(1)
        park.leaveCar(4)
        park.leaveCar(5)

        #assert
        self.equalPark(park.park, expectedPark)