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 parkingLot_should_get_car_after_smartBoy_park() { var bmw = new Car(); var parkingLot = new ParkingLot(); var smartBoy = new SmartParkingBoy(parkingLot); var parkingInfo = smartBoy.Park(bmw); Assert.Same(bmw, parkingLot.Pick(parkingInfo.ParkingToken)); }
public void parkingLot_should_pick_success_after_superBoy_park() { var car = new Car(); var parkinglot = new ParkingLot(); var superBoy = new SuperParkingBoy(parkinglot); var parkingInfo = superBoy.Park(car); Assert.Same(car, parkinglot.Pick(parkingInfo.ParkingToken)); }
public void should_park_in_bigger_parkingLot_for_different_size_empty_parkingLots() { var bmw = new Car(); var parkingLot1 = new ParkingLot(1); var parkingLot2 = new ParkingLot(2); var smartBoy = new SmartParkingBoy(parkingLot1, parkingLot2); var bmwParkingInfo = smartBoy.Park(bmw); Assert.Same(bmw, parkingLot2.Pick(bmwParkingInfo.ParkingToken)); }
public void should_park_to_first_available_parkingLot_for_mutiple_available_parkingLots() { var bmw = new Car(); var parkingLot1 = new ParkingLot(1); var parkingLot2 = new ParkingLot(1); var parkingBoy = new ParkingBoy(parkingLot1, parkingLot2); var bmwParkingInfo = parkingBoy.Park(bmw); Assert.Same(bmw, parkingLot1.Pick(bmwParkingInfo.ParkingToken)); }
public void should_park_in_parkinglot_with_high_vacancy_rate_for_different_size_parkingLots() { var bmw = new Car(); var audi = new Car(); var parkingLot1 = new ParkingLot(10); var parkingLot2 = new ParkingLot(20); var superboy = new SuperParkingBoy(parkingLot1, parkingLot2); parkingLot2.Park(bmw); var parkingInfo = superboy.Park(audi); Assert.Same(audi, parkingLot1.Pick(parkingInfo.ParkingToken)); }
public void should_park_in_parkinglot_with_high_available_spots_for_same_size_parkingLots() { var bmw = new Car(); var audi = new Car(); var parkingLot1 = new ParkingLot(10); var parkingLot2 = new ParkingLot(10); var superboy = new SuperParkingBoy(parkingLot1, parkingLot2); parkingLot1.Park(bmw); var parkingInfo = superboy.Park(audi); Assert.Same(audi, parkingLot2.Pick(parkingInfo.ParkingToken)); }
public void should_park_in_parkingLot_with_high_availability_for_multiple_parkinglots_with_different_availibility() { var bmw = new Car(); var audi = new Car(); var benz = new Car(); var parkingLot1 = new ParkingLot(2); var parkingLot2 = new ParkingLot(3); var smartBoy = new SmartParkingBoy(parkingLot1, parkingLot2); parkingLot1.Park(bmw); parkingLot2.Park(audi); var parkingInfo = smartBoy.Park(benz); Assert.Same(benz, parkingLot2.Pick(parkingInfo.ParkingToken)); }