public void Should_return_no_ticket_when_passing_a_parked_car() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); var car = new Car(); var parkingTicket = parkingBoy.ParkCar(car, out string errorMessagePark1); // when var newParkingTicket = parkingBoy.ParkCar(car, out string errorMessagePark2); // then Assert.Null(newParkingTicket); }
public void Should_return_no_ticket_when_try_to_park_a_car_when_there_is_no_position_in_parking_lot() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0, 1), new ParkingLot(1, 0) }; var parkingBoy = new ParkingBoy(parkingLotList); var car = new Car(); var parkingTicket = parkingBoy.ParkCar(car, out string errorMessage1); // when var anotherCar = new Car(); var newParkingTicket = parkingBoy.ParkCar(anotherCar, out string errorMessage2); // then Assert.Null(newParkingTicket); }
public void ParkingBoy_Should_Add_Error_Message_Given_Outof_Capacity() { //given var parkingLot = new ParkingLot.ParkingLot("parkingLot_1", 2); var parkingBoy = new ParkingBoy("parkingBoy_1", parkingLot); var car_1 = new Car("car_1"); var car_2 = new Car("car_2"); var car_3 = new Car("car_3"); //when parkingBoy.ParkCar(car_1, out _); parkingBoy.ParkCar(car_2, out _); parkingBoy.ParkCar(car_3, out var errorMessage); var expectedMessage = "Not enough position."; //then Assert.Equal(expectedMessage, errorMessage); }
public void Should_get_the_right_car_when_add_multiple_cars() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); var expectedCar = new Car(); var anotherCar = new Car(); var parkingTicket = parkingBoy.ParkCar(expectedCar, out string errorMessagePark1); parkingBoy.ParkCar(anotherCar, out string errorMessagePark2); // when var actualCar = parkingBoy.FetchCar(parkingTicket, out string errorMessage); var isFetchedTheRightCar = expectedCar.Equals(actualCar) && !anotherCar.Equals(actualCar); // then Assert.True(isFetchedTheRightCar); }
public void ParkingBoy_Should_Return_Null_Given_Null_Car() { //given var parkingLot = new ParkingLot("parkingLot_1", 3); var parkingBoy = new ParkingBoy("parkingBoy_1", parkingLot); //when var resultGivenParkedCar = parkingBoy.ParkCar(null, out _); //then Assert.Null(resultGivenParkedCar); }
public void ParkingBoy_Should_Return_Null_Given_Parked_Car() { //given var car = new Car("car_1"); var newCustomer = new Customer("customer_1", car); var parkingLot = new ParkingLot("parkingLot_1", 3); var parkingBoy = new ParkingBoy("parkingBoy_1", parkingLot); //when newCustomer.PassCarToParkingBoy(parkingBoy); var resultGivenParkedCar = parkingBoy.ParkCar(car, out _); //then Assert.Null(resultGivenParkedCar); }
public void Should_return_the_car_when_use_correct_parking_ticket_to_fetch_the_car() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); var expectedCar = new Car(); var parkingTicket = parkingBoy.ParkCar(expectedCar, out string errorMessagePark); // when var actualCar = parkingBoy.FetchCar(parkingTicket, out string errorMessage); // then Assert.Equal(expectedCar, actualCar); }
public void Should_return_correct_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); bool isParkingTicketCorrect = parkingTicket.ParkingLotId == 0 && parkingTicket.CarId == 0; // then Assert.True(isParkingTicketCorrect); }
public void Should_return_null_when_not_given_a_parking_ticket_to_fetch_car() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); var car = new Car(); var parkingTicket = parkingBoy.ParkCar(car, out string errorMessagePark); // when var actualCar = parkingBoy.FetchCar(null, out string errorMessage); // then Assert.Null(actualCar); }
public void Should_return_no_parking_ticket_and_generate_error_message_Not_enough_position_when_the_parking_boy_attempt_to_park_into_a_parking_lot_without_position() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0, 0), new ParkingLot(1, 0) }; var parkingBoy = new ParkingBoy(parkingLotList); var car = new Car(); // when string errorMessage; var parkingTicket = parkingBoy.ParkCar(car, out errorMessage); // then Assert.Null(parkingTicket); Assert.Equal("Not enough position.", errorMessage); }
public void Should_park_car_when_given_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 parkingBoy.ParkCar(car, out string errorMessage); var isCarParked = parkingLotList.Where(parkingLot => parkingLot.HasCar(car)).ToList().Count > 0; // then Assert.True(isCarParked); }
public void Should_return_no_car_and_generate_error_message_Please_provide_your_parking_ticket_when_customer_does_not_provide_a_ticket() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); var car = new Car(); var parkingTicket = parkingBoy.ParkCar(car, out string errorMessagePark); // when string errorMessage; var actualCar = parkingBoy.FetchCar(null, out errorMessage); // then Assert.Null(actualCar); Assert.Equal("Please provide your parking ticket.", errorMessage); }
public void Should_return_no_car_and_generate_error_message_Unrecognized_parking_ticket_when_parking_boy_does_not_provide_the_ticket() { // given List <ParkingLot> parkingLotList = new List <ParkingLot> { new ParkingLot(0), new ParkingLot(1) }; var parkingBoy = new ParkingBoy(parkingLotList); var car = new Car(); var parkingTicket = parkingBoy.ParkCar(car, out string errorMessagePark); // when string errorMessage; var actualCar = parkingBoy.FetchCar(new ParkingTicket(parkingTicket.ParkingLotId, parkingTicket.CarId + 1), out errorMessage); // then Assert.Null(actualCar); Assert.Equal("Unrecognized parking ticket.", errorMessage); }
public void ParkingBoy_Should_Add_Error_Message_Given_Parked_Ticket() { //given var car = new Car("car_1"); var newCustomer = new Customer("customer_1", car); var parkingLot = new ParkingLot.ParkingLot("parkingLot_1", 3); var parkingBoy = new ParkingBoy("parkingBoy_1", parkingLot); //when var parkedTicket = parkingBoy.ParkCar(car, out _); parkingBoy.FetchCar(parkedTicket, out _); parkingBoy.FetchCar(parkedTicket, out var errorMessage); var expectedMessage = "Unrecognized parking ticket."; //then Assert.Equal(expectedMessage, errorMessage); }