@Test public void should_park_successfully_when_have_available_parking_port() { parkingLotList = new ArrayList<ParkingLot>(); parkingLotList.add(new ParkingLot(10)); smartManager = new Manager(parkingLotList, StategyEnum.SMART); Car car = new Car(); Receipt receipt = smartManager.park(car); assertNotNull(receipt); }
@Test public void should_park_in_the_most_avaiable_port_parking_lot_when_there_is_only_one_parking_lot() { parkingLotList = new ArrayList<ParkingLot>(); ParkingLot mostAvailableSpaceParkingLot = new ParkingLot(3); parkingLotList.add(mostAvailableSpaceParkingLot); smartManager = new Manager(parkingLotList, StategyEnum.SMART); Car car = new Car(); Receipt receipt = smartManager.park(car); Car car1 = mostAvailableSpaceParkingLot.getCar(receipt); assertSame(car, car1); }
@Test public void should_park_the_car_in_the_most_available_port_parking_lot_when_there_are_two_parking_lot() throws Exception { parkingLotList = new ArrayList<ParkingLot>(); parkingLotList.add(new ParkingLot(10)); ParkingLot mostAvailableSpaceParkingLot = new ParkingLot(20); parkingLotList.add(mostAvailableSpaceParkingLot); smartManager = new Manager(parkingLotList, StategyEnum.SMART); Car car = new Car(); Receipt receipt = smartManager.park(car); Car car1 = mostAvailableSpaceParkingLot.getCar(receipt); assertSame(car, car1); }