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)); }
public void Car_Should_be_fetched_according_to_parking_ticket() { //given var parkingLot = new ParkingLot(); var parkingBoy = new ParkingBoy(); //when var numberPlate = "XX2345"; var parkingTicket = parkingBoy.Park(numberPlate, parkingLot); var actual = parkingBoy.Fetch(parkingTicket, parkingLot); //then Assert.Equal(numberPlate, actual); }
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)); }
public void A_parkingLot_should_not_contain_this_car_after_fetched() { //given var parkingLot = new ParkingLot(); var parkingBoy = new ParkingBoy(); //when var numberPlate = "XX2345"; var parkingTicket = parkingBoy.Park(numberPlate, parkingLot); var actual = parkingBoy.Fetch(parkingTicket, parkingLot); //then Assert.DoesNotContain(numberPlate, parkingLot.ParkingCarsList); }
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_return_no_ticket_when_passing_a_null_car() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); // when var parkingTicket = parkingBoy.ParkCar(null, out string errorMessage); // then Assert.Null(parkingTicket); }
public void Should_Manager_Can_Add_Boy_To_List() { //Given var manager = new ParkingManager("Jack"); var boy = new ParkingBoy("Joy"); //When manager.HireBoy(boy); bool result = manager.ManageList.Contains(boy); //Then Assert.Equal(true, result); }
public void should_park_one_car_to_first_avaliable_parking_lot() { var parkingLotOne = new ParkingLot(4); var parkingLotTwo = new ParkingLot(4); var parkingBoy = new ParkingBoy(new[] { parkingLotOne, parkingLotTwo }); TakeAllParkingSpaceOfParkingLot(parkingLotOne); var car = new Car(); var token = parkingBoy.Park(car); Assert.Same(car, parkingLotTwo.Pick(token)); }
public void A_parkingLot_should_contain_this_car_after_park() { //given var parkingLot = new ParkingLot(); var parkingBoy = new ParkingBoy(); //when string numberPlate = "XX2"; var ticket = parkingBoy.Park(numberPlate, parkingLot); //then Assert.NotEmpty(ticket); Assert.Contains <string>("XX2", parkingLot.ParkingCarsList); }
public void should_be_able_to_pick_car_by_common_parking_boy() { var car = new Car(); var parkingLot = new ParkingLot(1); var parkingBoy = new ParkingBoy(new List <ParkingLot>() { parkingLot }); var ticket = parkingLot.Park(car); Assert.Equal(car, parkingBoy.Pick(ticket)); }
public void should_pick_the_same_car_using_the_ticket_generated_by_parkingboy_park() { ParkingLot parkingLot = new ParkingLot(1); List <ParkingLot> parkingLots = new List <ParkingLot>() { parkingLot }; ParkingBoy parkingBoy = new ParkingBoy(parkingLots); Car car = new Car(); var ticket = parkingBoy.Park(car); Assert.Same(car, parkingLot.Pick(ticket)); }
public void should_return_ticket_from_packing_boy_when_let_boy_to_packing_car() { var parkingLots = new List <ParkingLot>(); var parkingLot = new ParkingLot(parkingSize); parkingLots.Add(parkingLot); var packingBoy = new ParkingBoy(parkingLots); var car = new Car(); var ticket = packingBoy.Park(car); Assert.NotNull(ticket); }
public void should_pick_car_from_parking_lot_2_by_common_parking_boy_if_the_car_is_in_parking_lot_2() { var parkingLot1 = new ParkingLot(1); var parkingLot2 = new ParkingLot(1); var parkingBoy = new ParkingBoy(new List <ParkingLot>() { parkingLot1, parkingLot2 }); var car = new Car(); var ticket = parkingLot2.Park(car); Assert.Equal(car, parkingBoy.Pick(ticket)); }
public void ParkingBoy_Should_Add_Error_Message_Given_No_Ticket() { //given var parkingLot = new ParkingLot.ParkingLot("parkingLot_1", 3); var parkingBoy = new ParkingBoy("parkingBoy_1", parkingLot); //when parkingBoy.FetchCar(null, out var errorMessage); var expectedMessage = "Please provide your parking ticket."; //then Assert.Equal(expectedMessage, errorMessage); }
public void should_park_car_when_manages_multiple_parking_boys() { var parkingLot = new ParkingLot(1); var parkingBoy = new ParkingBoy(parkingLot); var smartParkingBoy = new SmartParkingBoy(parkingLot); var parkingManager = new ParkingManager(parkingBoy, smartParkingBoy); var car = new Car(); var token = parkingManager.Park(car); var pickedCar = parkingManager.Pick(token); pickedCar.Should().BeSameAs(car); }
public void should_can_pack_one_car_when_parking_boy_has_one_full_packinglot_and_unfull_packinglot() { var secondParkingLot = new ParkingLot(1); var parkingBoy = new ParkingBoy(new List <ParkingLot> { new ParkingLot(1), secondParkingLot }); parkingBoy.Park(new Car()); var car = new Car(); var carId = parkingBoy.Park(car); Assert.AreSame(car, secondParkingLot.Pick(carId)); }
public void should_get_null_if_try_to_park_a_car_when_all_parking_lots_are_full() { var parkingLot1 = new ParkingLot(1); var parkingLot2 = new ParkingLot(1); var parkingBoy = new ParkingBoy(new List <ParkingLot>() { parkingLot1, parkingLot2 }); parkingBoy.Park(new Car()); parkingBoy.Park(new Car()); Assert.Null(parkingBoy.Park(new Car())); }
public void Should_Not_Fetch_Car_And_Return_Error_Message(string license, int parkingLotNumber) { var parkingLot = new ParkingLot(1, 4); var parkingLotList = new List <ParkingLot>(); parkingLotList.Add(parkingLot); var parkingBoy = new ParkingBoy(parkingLotList); var ticket = parkingBoy.ParkACarAndGetTicket("abc123"); parkingBoy.FetchACarWithTicket(new Ticket(license, parkingLotNumber)); var returnMessage = parkingBoy.FetchACarWithTicket(new Ticket(license, parkingLotNumber)); Assert.Equal("Unrecognized parking ticket.", returnMessage); }
public void should_return_same_car_when_use_second_parking_lot_pick_car() { var secondParkingLot = new ParkingLot(2); var smartParkingBoy = new ParkingBoy(new List <ParkingLot> { new ParkingLot(2), secondParkingLot }, ParkingBoyType.Smart); smartParkingBoy.Park(new Car()); Car car = new Car(); var carId = smartParkingBoy.Park(car); Assert.AreSame(car, secondParkingLot.Pick(carId)); }
public void Should_Park_Return_Null_When_Park_Null_Car() { // given Car car = null; var parkingLot1 = new ParkingLot("ParkingLotOne"); var parkingLot2 = new ParkingLot("ParkingLotOne"); var parkingBoy = new ParkingBoy("Jack", parkingLot1, parkingLot2); // when var parkingTicket = parkingBoy.Park(car); // then Assert.Null(parkingTicket); }
public void Should_Park_Return_ParkingTicket_When_Park_To_Available_ParkingLot() { // given var car = new Car("JAA8888"); var parkingLot1 = new ParkingLot("ParkingLotOne"); var parkingLot2 = new ParkingLot("ParkingLotOne"); var parkingBoy = new ParkingBoy("Jack", parkingLot1, parkingLot2); // when var parkingTicket = parkingBoy.Park(car); // then Assert.IsType <ParkingTicket>(parkingTicket); }
public void Should_return_parking_ticket_when_parked_a_car() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); var car = new Car(); // when var parkingTicket = parkingBoy.ParkCar(car, out string errorMessage); // then Assert.NotNull(parkingTicket); }
public void Should_GetBoysParkingLots_return_ParkingLot_When_Add_ParkingLot_To_ParkingBoy() { //given var parkingLot = new ParkingLot(10, "p1"); var parkingBoy = new ParkingBoy("b1"); parkingBoy.AddParkingLot(parkingLot); //when ParkingLot actual = parkingBoy.BoysParkingLots[0]; var expexted = parkingLot; //then Assert.Equal(actual.Id, expexted.Id); }
public void should_park_car_when_one_parkinglot_is_full_and_the_other_one_is_not() { ParkingLot lotA = new ParkingLot(0); ParkingLot lotB = new ParkingLot(1); List <ParkingLot> parkingLots = new List <ParkingLot>() { lotA, lotB }; ParkingBoy parkingBoy = new ParkingBoy(parkingLots); Car car = new Car(); var ticket = parkingBoy.Park(car); Assert.Equal(typeof(Ticket), ticket.GetType()); }
public void Should_Return_no_parkingTicket_when_park_a_parked_car() { //given var parkingLot = new ParkingLot(); var parkingBoy = new ParkingBoy(); //when string numberPlate = "XX2345"; parkingBoy.Park(numberPlate, parkingLot); var actual = parkingBoy.Park(numberPlate, parkingLot); //then Assert.Empty(actual); }
public void ShouldParkACarGivenACar() { ParkingLot parkingLot = new ParkingLot(); ParkingBoy parkingBoy = new ParkingBoy(parkingLot); Car car = new Car("CARA111"); // given string expected = car.GetCarNumber(); // when string actual = parkingBoy.ParkingCar(car).GetCarNumber(); // then Assert.Equal(expected, actual); }
void should_return_parking_boy_parked_car_when_give_parking_boy_ticket() { var parkingBoy = new ParkingBoy(new List <ParkingLot> { new ParkingLot(parkingLotSize) }); var car = new Car(); var ticket = parkingBoy.Park(car); Assert.NotNull(ticket); var returnedCar = parkingBoy.GetCar(ticket); Assert.Equal(car, returnedCar); }
public void should_not_park_car_when_parkinglots_are_full() { ParkingLot lotA = new ParkingLot(0); ParkingLot lotB = new ParkingLot(0); List <ParkingLot> parkingLots = new List <ParkingLot>() { lotA, lotB }; ParkingBoy parkingBoy = new ParkingBoy(parkingLots); Car car = new Car(); var ticket = parkingBoy.Park(car); Assert.Null(ticket); }
public void should_throw_NotFoundException_when_make_park_boy_pick_a_car_given_the_car_not_in_parking_lots_of_managed_by_boy() { var parkingLot1 = new ParkingLot(1); var parkingLot2 = new ParkingLot(1); var boy = new ParkingBoy(new List <ParkingLot> { parkingLot1 }); var car = new Car(); var ticket = parkingLot2.Park(car); var exception = Assert.Throws <InvalidTicketException>(() => boy.Pick(ticket)); Assert.Equal("invalid ticket", exception.Message); }
void should_return_same_ordered_list_when_given_ordered_list() { var parkingLot1 = new ParkingLot(parkingLotSize); var parkingLot2 = new ParkingLot(parkingLotSize); var managedParkingLots = new List <ParkingLot> { parkingLot1, parkingLot2 }; var parkingBoy = new ParkingBoy(managedParkingLots); Assert.Equal(parkingLot2, parkingBoy.ManagedParkingLots[1]); Assert.Equal(parkingLot1, parkingBoy.ManagedParkingLots[0]); }