public void given_a_parking_lot_when_not_parking_a_car_then_I_can_not_pick_a_car() { var parkingLot = new OOParkingLot(1); var notParkedCar = new Car("car"); Assert.IsNull(parkingLot.Pick(notParkedCar.Id)); }
given_parking_boy_and_smart_parking_boy_then_smart_boy_can_not_manage_parking_boy() { var parkingLot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(parkingLot); var smartParkingBoy = new SmartParkingBoy(parkingBoy as IParkingLot); smartParkingBoy.Park(new Car("car")); }
given_parking_boy_and_super_parking_boy_then_super_boy_can_not_manage_parking_boy() { var parkingLot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(parkingLot); var superBoy = new SuperParkingBoy(parkingBoy as IParkingLot); superBoy.Park(new Car("car")); }
public void given_a_parking_lot_when_park_a_car_then_I_can_pick_a_car() { var p = new OOParkingLot(1); var car = new Car("car"); var carId = p.Park(car); Assert.AreSame(car, p.Pick(carId)); }
public void given_a_parking_manager_with_one_space_parking_lot_managed_by_a_parking_director_then_director_could_print_right_report_by_file_log() { var ooParkingLot = new OOParkingLot(1); var parkingDirector = new ParkingDirector(new ParkingManager(ooParkingLot)); var report = parkingDirector.OutPutByStrategy(new FileStrategy()); Assert.AreEqual("M 1 0\r\n\tP 1 0", report); }
public void given_a_parking_lot_with_no_empty_space_when_parking_a_car_then_I_can_not_park() { var parkingLot = new OOParkingLot(0); var car = new Car("car"); var carId = parkingLot.Park(car); Assert.IsNull(carId); }
public void given_a_parkingLot_and_a_parking_manager_when_parking_manager_park_a_car_then_he_can_pick_the_car() { var parkinglot = new OOParkingLot(1); var manager = new ParkingManager(parkinglot); var car = new Car("car"); var carId = manager.Park(car); Assert.AreSame(car, manager.Pick(carId)); }
public void given_a_parkingLot_and_a_super_parking_boy_when_super_boy_park_a_car_then_the_car_in_the_parkingLot() { var firstParkinglot = new OOParkingLot(1); var superParkingBoy = new SuperParkingBoy(firstParkinglot); var car = new Car("car"); var carId = superParkingBoy.Park(car); Assert.AreSame(car, firstParkinglot.Pick(carId)); }
public void given_a_parking_manager_with_two_parking_lot_managed_by_a_parking_director_then_the_director_could_print_right_report() { var firstParkingLot = new OOParkingLot(1); var secondParkingLot = new OOParkingLot(0); var parkingDirector = new ParkingDirector(new ParkingManager(firstParkingLot, secondParkingLot)); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 1 0\r\n\tP 1 0\r\n\tP 0 0", report); }
public void given_a_parking_manager_with_a_super_parking_boy_with_a_parking_lot_managed_by_a_parking_director_then_the_director_could_print_right_report() { var ooParkingLot = new OOParkingLot(1); var superParkingBoy = new SuperParkingBoy(new OOParkingLot(1)); var parkingDirector = new ParkingDirector(new ParkingManager(ooParkingLot, superParkingBoy)); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 2 0\r\n\tP 1 0\r\n\tB2 1 0\r\n\t\tP 1 0", report); }
given_a_no_space_parking_lot_and_a_parking_boy_when_parking_boy_park_a_car_then_can_not_park_a_car () { var parkingLot = new OOParkingLot(0); var parkingBoy = new ParkingBoy(parkingLot); var myCar = new Car("a"); var carId = parkingBoy.Park(myCar); Assert.AreSame(null, carId); }
given_a_parking_lot_and_a_parking_boy_when_park_a_car_in_parking_lot_directly_then_parking_boy_can_pick_the_car () { var parkingLot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(parkingLot); var myCar = new Car("a"); var carId = parkingLot.Park(myCar); Assert.AreSame(myCar, parkingBoy.Pick(carId)); }
public void given_a_parking_lot_and_a_super_parking_boy_which_managed_by_parking_manager_when_parking_boy_park_a_car_then_manager_could_pick_the_car() { var parkinglot = new OOParkingLot(1); var superParkingBoy = new SuperParkingBoy(parkinglot); var manager = new ParkingManager(superParkingBoy); var car = new Car("car"); var carId = superParkingBoy.Park(car); Assert.AreSame(car, manager.Pick(carId)); }
public void given_a_parking_lot_when_parking_a_car_then_I_can_only_pick_one() { var parkingLot = new OOParkingLot(1); var myCar = new Car("my own car is unique"); var myCarId = parkingLot.Park(myCar); parkingLot.Pick(myCarId); Assert.IsNull(parkingLot.Pick(myCarId)); }
public void given_a_parking_lot_when_parking_two_car_then_I_can_pick_all_of_them() { var parkingLot = new OOParkingLot(2); var firstCar = new Car("Car One"); var secondCar = new Car("Second One"); parkingLot.Park(firstCar); var secondCarId = parkingLot.Park(secondCar); Assert.AreSame(secondCar, parkingLot.Pick(secondCarId)); }
public void given_two_parkingLot_with_same_space_and_a_smart_parking_boy_when_smart_boy_park_a_car_then_the_car_in_the_first_parkingLot() { var firstParkinglot = new OOParkingLot(1); var secondParkinglot = new OOParkingLot(1); var smartParkingBoy = new SmartParkingBoy(firstParkinglot, secondParkinglot); var car = new Car("car"); var carId = smartParkingBoy.Park(car); Assert.AreSame(car, firstParkinglot.Pick(carId)); }
public void given_a_parking_manager_with_empty_space_parking_lot_managed_by_a_parking_director_then_director_could_print_right_report() { var ooParkingLot = new OOParkingLot(1); var parkingManager = new ParkingManager(ooParkingLot); var parkingDirector = new ParkingDirector(parkingManager); parkingManager.Park(new Car("car")); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 0 1\r\n\tP 0 1", report); }
given_two_parking_lot_with_first_parking_lot_is_full_when_parking_boy_park_a_car_then_the_car_parked_in_the_second_parking_lot () { var firstParkingLot = new OOParkingLot(0); var secondParkingLot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(firstParkingLot, secondParkingLot); var car = new Car("car"); var carId = parkingBoy.Park(car); Assert.AreSame(car, secondParkingLot.Pick(carId)); }
given_two_parking_lot_with_all_parking_lot_is_full_when_parking_boy_park_a_car_then_the_car_cannot_be_parked () { var firstParkingLot = new OOParkingLot(0); var secondParkingLot = new OOParkingLot(0); var parkingBoy = new ParkingBoy(firstParkingLot, secondParkingLot); var car = new Car("car"); var carId = parkingBoy.Park(car); Assert.AreSame(null, carId); }
public void given_a_parking_manager_with_a_super_parking_boy_with_two_parking_lot_and_a_smart_boy_with_a_parking_lot_which_parked_a_car_managed_by_a_parking_director_then_the_director_could_print_right_report() { var superParkingBoy = new SuperParkingBoy(new OOParkingLot(1), new OOParkingLot(1)); var smartBoyParkingLot = new OOParkingLot(1); var smartParkingBoy = new SmartParkingBoy(smartBoyParkingLot); var parkingDirector = new ParkingDirector(new ParkingManager(smartParkingBoy, superParkingBoy)); smartBoyParkingLot.Park(new Car("car")); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 2 1\r\n\tB1 0 1\r\n\t\tP 0 1\r\n\tB2 2 0\r\n\t\tP 1 0\r\n\t\tP 1 0", report); }
public void given_a_parking_lot_with_one_space_when_I_park_the_first_car_and_pick_the_first_car_then_I_can_park_the_second_one() { var parkingLot = new OOParkingLot(1); var firstCar = new Car("first car"); var secondCar = new Car("second car"); var firstCarId = parkingLot.Park(firstCar); parkingLot.Pick(firstCarId); var secondCarId = parkingLot.Park(secondCar); Assert.AreSame(secondCar, parkingLot.Pick(secondCarId)); }
given_a_parking_lot_and_a_parking_boy_then_parking_boy_park_a_car_and_pick_the_car_then_parking_boy_cannot_pick_the_car () { var parkingLot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(parkingLot); var myCar = new Car("a"); var carId = parkingBoy.Park(myCar); parkingBoy.Pick(carId); Assert.AreEqual(null, parkingBoy.Pick(carId)); }
given_a_full_parking_lot_and_a_parking_boy_which_managed_by_parking_mananger_with_one_space_parking_lot_when_parking_manager_park_the_car_then_parking_boy_could_pick_the_car () { var emptyParkinglot = new OOParkingLot(0); var parkinglot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(parkinglot); var manager = new ParkingManager(emptyParkinglot, parkingBoy); var car = new Car("car"); var carId = manager.Park(car); Assert.AreSame(car, parkingBoy.Pick(carId)); }
given_two_parking_lot_when_parking_boy_park_a_car_and_pick_the_car_then_parking_boy_cannot_pick_a_car () { var firstParkingLot = new OOParkingLot(1); var secondParkingLot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(firstParkingLot, secondParkingLot); var car = new Car("car"); var carId = parkingBoy.Park(car); parkingBoy.Pick(carId); Assert.AreSame(null, parkingBoy.Pick(carId)); }
given_a_smart_boy_with_empty_parking_lot_and_a_super_boy_with_one_space_parking_lot_both_managed_by_parking_manager_when_parking_manager_park_the_car_then_super_boy_could_pick_the_car () { var emptyParkinglot = new OOParkingLot(0); var parkinglot = new OOParkingLot(1); var smartBoy = new SmartParkingBoy(emptyParkinglot); var superBoy = new SuperParkingBoy(parkinglot); var manager = new ParkingManager(smartBoy, superBoy); var car = new Car("car"); var carId = manager.Park(car); Assert.AreSame(car, superBoy.Pick(carId)); }
public void given_two_parkinglot_and_the_first_parkinglot_emptyRate_is_smaller_than_the_second_one_when_super_boy_park_a_car_then_the_second_parkinglot_could_pick_the_car() { var firstPrakingLot = new OOParkingLot(3); var secondPrakingLot = new OOParkingLot(4); var car = new Car("car"); var parkedCarInFirstParkingLot = new Car("car parked in the first parkinglot"); var parkedCarInSecondParkingLot = new Car("car parked in the second parkinglot"); firstPrakingLot.Park(parkedCarInFirstParkingLot); secondPrakingLot.Park(parkedCarInSecondParkingLot); var superBoy = new SuperParkingBoy(firstPrakingLot, secondPrakingLot); var carId = superBoy.Park(car); Assert.AreSame(car, secondPrakingLot.Pick(carId)); }