public void should_get_park_status_when_multiple_parkingLots_parked() { var manager = new ParkingBoyManager(new List<IParkable> { new ParkingLot(1), new ParkingLot(2) }); manager.Park(new Car()); manager.Park(new Car()); var director = new ParkingDirector(manager); Assert.Equal("M 2 3\r\n P 1 1\r\n P 1 2", director.GetParkStatus()); }
public void manager_should_park_and_pick() { var car = new Car(); var manager = new ParkingBoyManager(new List<IParkable> { new ParkingLot(1)}); Assert.Same(car, manager.Pick(manager.Park(car))); }
public void should_ask_super_boy_to_park() { var car = new Car(); var manager = new ParkingBoyManager( new List<IParkable> { new SuperParkingBoy(new ParkingLot()) }); Assert.Same(car, manager.Pick(manager.Park(car))); }
public void parkingLot_should_pick_after_manager_park() { var car = new Car(); var parkingLot = new ParkingLot(1); var manager = new ParkingBoyManager(new List<IParkable> { parkingLot}); Assert.Same(car, parkingLot.Pick(manager.Park(car).ParkingToken)); }
public void should_park_failed_if_available_parkingLot_is_null() { var car = new Car(); var smartParkingBoy = new SmartParkingBoy(new ParkingLot(1)); smartParkingBoy.Park(new Car()); var superParkingBoy = new SuperParkingBoy(new ParkingLot(1)); superParkingBoy.Park(new Car()); var manager = new ParkingBoyManager( new List<IParkable> { smartParkingBoy, superParkingBoy }); Assert.Equal(StatusCode.ParkinglotIsFull, manager.Park(car).StatusCode); }
public void should_try_to_park_in_available_parkingLot() { var car = new Car(); var superParkingBoy = new SuperParkingBoy(new ParkingLot(1)); superParkingBoy.Park(new Car()); var manager = new ParkingBoyManager( new List<IParkable> { superParkingBoy, new SmartParkingBoy(new ParkingLot(10)) }); Assert.Same(car, manager.Pick(manager.Park(car))); }
public void should_pick_by_selectedBoy_when_selected_boy_park() { var car = new Car(); var superParkingBoy = new SuperParkingBoy(new ParkingLot()); var manager = new ParkingBoyManager( new List<IParkable> { superParkingBoy}); Assert.Same(car, superParkingBoy.Pick(manager.Park(car))); }