public void Manager_Should_Add_ParkingBoy_Successfully() { //given var parkingLot = new ParkingLot.ParkingLot("parkingLot_1"); var parkingBoy_1 = new ParkingBoy("parkingBoy_1", parkingLot); var manager = new ParkingLotServiceManager("manager_1", parkingLot, new List <ParkingBoy>(new ParkingBoy[] { parkingBoy_1 })); //when var parkingBoy_2 = new ParkingBoy("parkingBoy_2", parkingLot); manager.AddParkingBoy(parkingBoy_2); //then Assert.True(manager.ManageParkingBoy(parkingBoy_2)); }
public void Should_parking_lot_service_manager_add_super_smart_parking_boy_to_managementList() { // given List <ParkingLot> parkingLotListForManager = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; List <ParkingLot> parkingLotListForParkingBoy = new List <ParkingLot> { new ParkingLot(2), new ParkingLot(3) }; var expectedSuperSmartParkingBoy = new SuperSmartParkingBoy(parkingLotListForParkingBoy); var parkingLotServiceManager = new ParkingLotServiceManager(parkingLotListForManager, new List <ParkingBoy>()); parkingLotServiceManager.AddParkingBoy(expectedSuperSmartParkingBoy); // when var specifiedParkingBoy = parkingLotServiceManager.SpecifyParkingBoy(); // then Assert.Equal(expectedSuperSmartParkingBoy, specifiedParkingBoy); }
public void Should_parking_lot_service_manager_return_parking_boy_to_do_parking_works() { // given List <ParkingLot> parkingLotListForManager = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; List <ParkingLot> parkingLotListForParkingBoy = new List <ParkingLot> { new ParkingLot(2), new ParkingLot(3) }; var superSmartParkingBoy = new SuperSmartParkingBoy(parkingLotListForParkingBoy); var managementList = new List <ParkingBoy>(); var parkingLotServiceManager = new ParkingLotServiceManager(parkingLotListForManager, managementList); // when parkingLotServiceManager.AddParkingBoy(superSmartParkingBoy); bool isSuperSmartParkingBoyAdded = managementList.Contains(superSmartParkingBoy); // then Assert.True(isSuperSmartParkingBoyAdded); }
public void Should_parking_lot_service_manager_add_standard_parking_boy_to_managementList() { // given List <ParkingLot> parkingLotListForManager = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; List <ParkingLot> parkingLotListForParkingBoy = new List <ParkingLot> { new ParkingLot(2), new ParkingLot(3) }; var parkingBoy = new ParkingBoy(parkingLotListForParkingBoy); var managementList = new List <ParkingBoy>(); var parkingLotServiceManager = new ParkingLotServiceManager(parkingLotListForManager, managementList); // when parkingLotServiceManager.AddParkingBoy(parkingBoy); bool isStandardParkingBoyAdded = managementList.Contains(parkingBoy); // then Assert.True(isStandardParkingBoyAdded); }
public void Should_parking_lot_service_manager_act_as_a_standard_parking_boy() { // given List <ParkingLot> parkingLotListForManager = new List <ParkingLot> { new ParkingLot(0, 0), new ParkingLot(1, 0) }; List <ParkingLot> parkingLotListForParkingBoy = new List <ParkingLot> { new ParkingLot(2), new ParkingLot(3) }; var standardParkingBoy = new ParkingBoy(parkingLotListForParkingBoy); var parkingLotServiceManager = new ParkingLotServiceManager(parkingLotListForManager, new List <ParkingBoy>()); parkingLotServiceManager.AddParkingBoy(standardParkingBoy); // when string errorMessage; parkingLotServiceManager.ParkCar(new Car(), out errorMessage); // then Assert.Equal("Not enough position.", errorMessage); }
public void Should_specified_parking_boy_only_manipulate_parking_lots_managed_by_him() { // given List <ParkingLot> parkingLotListForManager = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; List <ParkingLot> parkingLotListForParkingBoy = new List <ParkingLot> { new ParkingLot(2, 0), new ParkingLot(3, 0) }; var standardParkingBoy = new ParkingBoy(parkingLotListForParkingBoy); var parkingLotServiceManager = new ParkingLotServiceManager(parkingLotListForManager, new List <ParkingBoy>()); parkingLotServiceManager.AddParkingBoy(standardParkingBoy); var specifiedParkingBoy = parkingLotServiceManager.SpecifyParkingBoy(); // when string errorMessage; specifiedParkingBoy.ParkCar(new Car(), out errorMessage); // then Assert.Equal("Not enough position.", errorMessage); }
public void Should_parking_lot_service_manager_has_have_same_error_message_with_prcking_boy_when_parking_boy_fails_operation() { // given List <ParkingLot> parkingLotListForManager = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; List <ParkingLot> parkingLotListForParkingBoy = new List <ParkingLot> { new ParkingLot(2, 0), new ParkingLot(3, 0) }; var standardParkingBoy = new ParkingBoy(parkingLotListForParkingBoy); var parkingLotServiceManager = new ParkingLotServiceManager(parkingLotListForManager, new List <ParkingBoy>()); parkingLotServiceManager.AddParkingBoy(standardParkingBoy); var specifiedParkingBoy = parkingLotServiceManager.SpecifyParkingBoy(); // when string errorMessage; specifiedParkingBoy.ParkCar(new Car(), out errorMessage); string errorMessageFromManager = parkingLotServiceManager.ErrorMessage; // then Assert.Equal("Not enough position.", errorMessage); Assert.Equal(errorMessage, errorMessageFromManager); }