public void Test_InsertMotorbike_WithSameLicensePlate_ShouldReturnErrorMessage() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); var otherMotorbike = new Motorbike("CA1011AH", "Jane Smith", 1); var message = park.InsertMotorbike(otherMotorbike, 1, 2, new DateTime(2015, 5, 10, 12, 30, 0)); Assert.AreEqual("There is already a vehicle with license plate CA1011AH in the park", message); }
public void Test_InsertMotorbike_OccupiedPlace_ShouldReturnErrorMessage() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); var otherMotorbike = new Motorbike("CA1022AH", "Jane Smith", 1); var message = park.InsertMotorbike(otherMotorbike, 1, 1, new DateTime(2015, 5, 10, 12, 30, 0)); Assert.AreEqual("The place (1,1) is occupied", message); }
public void Test_InsertMotorbike_FillPark_ShouldInsertAllMotorbikes() { var park = new VehiclePark(2, 1); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); var message = park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); Assert.AreEqual("Motorbike parked successfully at place (1,1)", message); var otherMotorbike = new Motorbike("CA1022AH", "Jane Smith", 1); message = park.InsertMotorbike(otherMotorbike, 2, 1, new DateTime(2015, 5, 10, 12, 30, 0)); Assert.AreEqual("Motorbike parked successfully at place (2,1)", message); }
public void Test_InsertMotorbike_OccupiedPlace_ShouldReturnErrorMessage() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); var otherMotorbike = new Motorbike("CA1022AH", "Jane Smith", 1); string message = park.InsertMotorbike(otherMotorbike, 1, 1, new DateTime(2015, 5, 10, 12, 30, 0)); Assert.AreEqual("The place (1,1) is occupied", message); }
public void Test_InsertMotorbike_WithSameLicensePlate_ShouldReturnErrorMessage() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); var otherMotorbike = new Motorbike("CA1011AH", "Jane Smith", 1); string message = park.InsertMotorbike(otherMotorbike, 1, 2, new DateTime(2015, 5, 10, 12, 30, 0)); Assert.AreEqual("There is already a vehicle with license plate CA1011AH in the park", message); }
public void Test_InsertMotorbike_FillPark_ShouldInsertAllMotorbikes() { var park = new VehiclePark(2, 1); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); string message = park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); Assert.AreEqual("Motorbike parked successfully at place (1,1)", message); var otherMotorbike = new Motorbike("CA1022AH", "Jane Smith", 1); message = park.InsertMotorbike(otherMotorbike, 2, 1, new DateTime(2015, 5, 10, 12, 30, 0)); Assert.AreEqual("Motorbike parked successfully at place (2,1)", message); }
public void Test_InsertMotorbike_IncorrectPlace_ShouldReturnErrorMessage() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); var message = park.InsertMotorbike(motorbike, 1, 10, new DateTime(2015, 5, 10, 10, 30, 0)); Assert.AreEqual("There is no place 10 in sector 1", message); }
public void Test_InsertMotorbike_CorrectParameters_ShouldInsertTheMotorbike() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); var message = park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); Assert.AreEqual("Motorbike parked successfully at place (1,1)", message); }
public string[] Execute(VehiclePark vehiclePark) { switch (Parameters["type"]) { case "car": return(vehiclePark.InsertCar( new Car(Parameters["licensePlate"], Parameters["owner"], Convert.ToInt32(Parameters["hours"])), Convert.ToInt32(Parameters["sector"]), Convert.ToInt32(Parameters["place"]), Convert.ToDateTime(Parameters["time"]))); case "motorbike": return(vehiclePark.InsertMotorbike( new Motorbike(Parameters["licensePlate"], Parameters["owner"], Convert.ToInt32(Parameters["hours"])), Convert.ToInt32(Parameters["sector"]), Convert.ToInt32(Parameters["place"]), Convert.ToDateTime(Parameters["time"]))); case "truck": return(vehiclePark.InsertTruck( new Truck(Parameters["licensePlate"], Parameters["owner"], Convert.ToInt32(Parameters["hours"])), Convert.ToInt32(Parameters["sector"]), Convert.ToInt32(Parameters["place"]), Convert.ToDateTime(Parameters["time"]))); default: return(new [] { "There is no such type vehicle" }); } }
public void Test_FindVehiclesByOwner_SomeVehiclesMatch_ShouldSortCorrectly() { var park = new VehiclePark(3, 3); var first = new Car("CA1011AH", "John Smith", 1); park.InsertCar(first, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); var second = new Truck("CA2022AH", "John Smith", 1); park.InsertTruck(second, 1, 2, new DateTime(2015, 5, 10, 11, 30, 0)); var third = new Truck("CA9999AH", "John Smith", 1); park.InsertTruck(third, 2, 1, new DateTime(2015, 5, 8, 11, 30, 0)); var fourth = new Motorbike("CA1111AH", "John Smith", 1); park.InsertMotorbike(fourth, 2, 2, new DateTime(2015, 5, 8, 11, 30, 0)); string message = park.FindVehiclesByOwner("John Smith"); Assert.AreEqual( "Motorbike [CA1111AH], owned by John Smith\r\n" + "Parked at (2,2)\r\n" + "Truck [CA9999AH], owned by John Smith\r\n" + "Parked at (2,1)\r\n" + "Car [CA1011AH], owned by John Smith\r\n" + "Parked at (1,1)\r\n" + "Truck [CA2022AH], owned by John Smith\r\n" + "Parked at (1,2)", message); }
public void Test_InsertMotorbike_IncorrectPlace_ShouldReturnErrorMessage() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); string message = park.InsertMotorbike(motorbike, 1, 10, new DateTime(2015, 5, 10, 10, 30, 0)); Assert.AreEqual("There is no place 10 in sector 1", message); }
public void Test_InsertMotorbike_CorrectParameters_ShouldInsertTheMotorbike() { var park = new VehiclePark(2, 2); var motorbike = new Motorbike("CA1011AH", "John Smith", 1); string message = park.InsertMotorbike(motorbike, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0)); Assert.AreEqual("Motorbike parked successfully at place (1,1)", message); }
public string Execute(ICommand command) { if (command.Name != "SetupPark" && VehiclePark == null) { return("The vehicle park has not been set up"); } var parameters = command.Parameters; switch (command.Name) { case "SetupPark": if (int.Parse(parameters["sectors"]) < 0) { return("The number of sectors must be positive"); } if (int.Parse(parameters["placesPerSector"]) < 0) { return("The number of places per sector must be positive"); } this.VehiclePark = new VehiclePark( int.Parse(parameters["sectors"]), int.Parse(parameters["placesPerSector"])); return("Vehicle park created"); case "Park": string licensePlate = parameters["licensePlate"]; string owner = parameters["owner"]; int reservedHours = int.Parse(parameters["hours"]); int sector = int.Parse(parameters["sector"]); int place = int.Parse(parameters["place"]); DateTime dateTime = DateTime.Parse( parameters["time"], null, System.Globalization.DateTimeStyles.RoundtripKind); switch (command.Parameters["type"]) { case "car": return(VehiclePark.InsertCar( new Car(licensePlate, owner, reservedHours), sector, place, dateTime)); case "motorbike": return(VehiclePark.InsertMotorbike( new Motorbike(licensePlate, owner, reservedHours), sector, place, dateTime)); case "truck": return(VehiclePark.InsertTruck( new Truck(licensePlate, owner, reservedHours), sector, place, dateTime)); } break; case "Exit": return(VehiclePark.ExitVehicle( parameters["licensePlate"], DateTime.Parse(parameters["time"], null, System.Globalization.DateTimeStyles.RoundtripKind), decimal.Parse(parameters["paid"]))); case "Status": return(VehiclePark.GetStatus()); case "FindVehicle": return(VehiclePark.FindVehicle( parameters["licensePlate"])); case "VehiclesByOwner": return(VehiclePark.FindVehiclesByOwner( parameters["owner"])); default: throw new IndexOutOfRangeException("Invalid command."); } return(string.Empty); }