public void Should_park_new_car_only_to_lot_which_has_larger_rate() { var boy = new SuperSmartBoy(); var lot1 = new Lot("loca1", 2); var lot2 = new Lot("loca2", 3); boy.Lots = new[] { lot1, lot2 }; string message; var locations = new List <string>(); foreach (var car in TestData.GetCars(4)) { var ticket = boy.Park(car, out message); locations.Add(ticket.GetLotLocation()); Assert.Empty(message); } Assert.Equal(lot2.GetLocation(), locations[0]); // lot1: 1 || lot2: 1 Assert.Equal(lot1.GetLocation(), locations[1]); // lot1: 1 || lot2: 2/3 Assert.Equal(lot2.GetLocation(), locations[2]); // lot1: 1/2 || lot2: 2/3 Assert.Equal(lot1.GetLocation(), locations[3]); // lot1: 1/2 || lot2: 1/3 }
public void Should_return_error_message_when_ticket_is_wrong_with_boyId_for_fetching_car() { var boy = new Boy(); var lot = new Lot(); var car = new Car("123"); boy.Lots = new Lot[] { lot }; string errorMessage; var ticket = boy.Park(car, out errorMessage); var wrongTicket = new Ticket(car.GetLicenseNumber(), lot.GetLocation(), boy.Id + 1); var fetchedCar = boy.Fetch(wrongTicket, out errorMessage); Assert.Equal("Unrecognized parking ticket.", errorMessage); }
public void Should_return_ticket_with_car_number_and_lot_location_when_boy_park_car() { //given var boy = new Boy(); var lot = new Lot(); var car = new Car("123"); boy.Lots = new Lot[] { lot }; //when string errorMessage; var ticket = boy.Park(car, out errorMessage); //then Assert.Equal(car.GetLicenseNumber(), ticket.GetLicenseNumber()); Assert.Equal(lot.GetLocation(), ticket.GetLotLocation()); }
public void Should_return_no_car_when_ticket_is_wrong_with_boyId() { var boy = new Boy(); var lot = new Lot(); var car = new Car("123"); boy.Lots = new Lot[] { lot }; string message; var correctTicket = boy.Park(car, out message); var wrongTicket = new Ticket(car.GetLicenseNumber(), lot.GetLocation(), boy.Id + 1); var fetchedCarWithWrongTicket = boy.Fetch(wrongTicket, out message); var fetchedCarWithCorrectTicket = boy.Fetch(correctTicket, out message); Assert.Null(fetchedCarWithWrongTicket); Assert.Equal(car, fetchedCarWithCorrectTicket); }