public void Clever_ParkingBoy_Should_Add_Error_Message_Given_Outof_Capacity() { //given var parkingLot = new ParkingLot.ParkingLot("parkingLot_1", 2); var parkingBoy = new CleverParkingBoy("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 Clever_ParkingBoy_Should_Return_Null_Given_Null_Car() { //given var parkingLot = new ParkingLot("parkingLot_1", 3); var parkingBoy = new CleverParkingBoy("parkingBoy_1", parkingLot); //when var resultGivenParkedCar = parkingBoy.ParkCar(null, out _); //then Assert.Null(resultGivenParkedCar); }
public void Clever_ParkingBoy_Should_Choose_ParkingLot_In_Order_When_Equal_Capacity() { //given var parkingLot_1 = new ParkingLot("parkingLot_1", 2); var parkingLot_2 = new ParkingLot("parkingLot_2", 2); var parkingBoy = new CleverParkingBoy("parkingBoy_1", new List <ParkingLot>(new[] { parkingLot_1, parkingLot_2 })); var car_1 = new Car("car_1"); var car_2 = new Car("car_2"); var car_3 = new Car("car_3"); //when var parkingResult_1 = parkingBoy.ParkCar(car_1, out _); var parkingResult_2 = parkingBoy.ParkCar(car_2, out _); var parkingResult_3 = parkingBoy.ParkCar(car_3, out _); //then Assert.Equal("parkingLot_1", parkingResult_1.ParkingLotId); Assert.Equal("parkingLot_2", parkingResult_2.ParkingLotId); Assert.Equal("parkingLot_1", parkingResult_3.ParkingLotId); Assert.Equal("car_1", parkingResult_1.CarId); Assert.Equal("car_2", parkingResult_2.CarId); Assert.Equal("car_3", parkingResult_3.CarId); }
public void Clever_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 CleverParkingBoy("parkingBoy_1", parkingLot); //when newCustomer.PassCarToParkingBoy(parkingBoy); var resultGivenParkedCar = parkingBoy.ParkCar(car, out _); //then Assert.Null(resultGivenParkedCar); }
public void Clever_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 CleverParkingBoy("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); }