public void Test_InsertCar_WithSameLicensePlate_ShouldReturnErrorMessage()
        {
            var park = new VehiclePark(2, 2);
            var car = new Car("CA1011AH", "John Smith", 1);
            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            var otherCar = new Car("CA1011AH", "Jane Smith", 1);
            string message = park.InsertCar(otherCar, 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_InsertCar_OccupiedPlace_ShouldReturnErrorMessage()
        {
            var park = new VehiclePark(2, 2);
            var car = new Car("CA1011AH", "John Smith", 1);
            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            var otherCar = new Car("CA1022AH", "Jane Smith", 1);
            string message = park.InsertCar(otherCar, 1, 1, new DateTime(2015, 5, 10, 12, 30, 0));
            Assert.AreEqual("The place (1,1) is occupied", message);
        }
Beispiel #3
0
        public void TestInsertCarWithSameLisencePlateShouldReturnErrorMessage()
        {
            IVehiclePark vehiclePark   = new VehiclePark(3, 5);
            var          firstVehicle  = new Car("CA1001HH", "Jay Margareta", 1);
            var          secondVehicle = new Car("CA1001HH", "Guy Sheard", 2);

            vehiclePark.InsertCar(firstVehicle, 1, 5, new DateTime(2015, 05, 04, 10, 30, 00));
            string message = vehiclePark.InsertCar(secondVehicle, 1, 3, new DateTime(2015, 05, 04, 10, 30, 00));

            Assert.AreEqual("There is already a vehicle with license plate CA1001HH in the park", message);
        }
Beispiel #4
0
        public void TestInsertCarAtAlreadyOccupiedPlaceInSectorShouldReturnErrorMessage()
        {
            IVehiclePark vehiclePark   = new VehiclePark(3, 5);
            var          firstVehicle  = new Car("CA1001HH", "Jay Margareta", 1);
            var          secondVehicle = new Car("CA1111HH", "Guy Sheard", 2);

            vehiclePark.InsertCar(firstVehicle, 1, 5, new DateTime(2015, 05, 04, 10, 30, 00));
            string message = vehiclePark.InsertCar(secondVehicle, 1, 5, new DateTime(2015, 05, 04, 10, 30, 00));

            Assert.AreEqual("The place (1,5) is occupied", message);
        }
        public void Test_FindVehiclesByOwner_NoVehiclesMatch_ShouldReturnErrorMessage()
        {
            var park = new VehiclePark(2, 2);
            var car = new Car("CA1011AH", "John Smith", 1);
            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA3035AH", "Jane Smith", 1);
            park.InsertCar(car, 2, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            string message = park.FindVehiclesByOwner("Jane Austen");
            Assert.AreEqual("No vehicles by Jane Austen", message);
        }
        public void Test_InsertCar_FillPark_ShouldInsertAllCars()
        {
            var park = new VehiclePark(2, 1);
            var car = new Car("CA1011AH", "John Smith", 1);
            string message = park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            Assert.AreEqual("Car parked successfully at place (1,1)", message);

            var otherCar = new Car("CA1022AH", "Jane Smith", 1);
            message = park.InsertCar(otherCar, 2, 1, new DateTime(2015, 5, 10, 12, 30, 0));
            Assert.AreEqual("Car parked successfully at place (2,1)", message);
        }
Beispiel #7
0
        public void Test_InsertCar_OccupiedPlace_ShouldReturnErrorMessage()
        {
            var park = new VehiclePark(2, 2);
            var car  = new Car("CA1011AH", "John Smith", 1);

            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            var    otherCar = new Car("CA1022AH", "Jane Smith", 1);
            string message  = park.InsertCar(otherCar, 1, 1, new DateTime(2015, 5, 10, 12, 30, 0));

            Assert.AreEqual("The place (1,1) is occupied", message);
        }
Beispiel #8
0
        public void Test_InsertCar_WithSameLicensePlate_ShouldReturnErrorMessage()
        {
            var park = new VehiclePark(2, 2);
            var car  = new Car("CA1011AH", "John Smith", 1);

            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            var    otherCar = new Car("CA1011AH", "Jane Smith", 1);
            string message  = park.InsertCar(otherCar, 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_FindVehiclesByOwner_NoVehiclesMatch_ShouldReturnErrorMessage()
        {
            var park = new VehiclePark(2, 2);
            var car  = new Car("CA1011AH", "John Smith", 1);

            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA3035AH", "Jane Smith", 1);
            park.InsertCar(car, 2, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            string message = park.FindVehiclesByOwner("Jane Austen");

            Assert.AreEqual("No vehicles by Jane Austen", message);
        }
Beispiel #10
0
        public void Test_InsertCar_FillPark_ShouldInsertAllCars()
        {
            var    park    = new VehiclePark(2, 1);
            var    car     = new Car("CA1011AH", "John Smith", 1);
            string message = park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            Assert.AreEqual("Car parked successfully at place (1,1)", message);

            var otherCar = new Car("CA1022AH", "Jane Smith", 1);

            message = park.InsertCar(otherCar, 2, 1, new DateTime(2015, 5, 10, 12, 30, 0));
            Assert.AreEqual("Car parked successfully at place (2,1)", message);
        }
        public void Test_FindVehiclesByOwner_SomeVehiclesMatch_ShouldReturnTheCorrectVehicle()
        {
            var park = new VehiclePark(2, 2);
            var car = new Car("CA1011AH", "John Smith", 1);
            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA3035AH", "Jane Smith", 1);
            park.InsertCar(car, 2, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            string message = park.FindVehiclesByOwner("Jane Smith");
            Assert.AreEqual(
                "Car [CA3035AH], owned by Jane Smith\r\n" +
                "Parked at (2,1)",
                message);
        }
Beispiel #12
0
        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);
        }
Beispiel #14
0
        public void TestInsertCarPlaceOccupied()
        {
            // Arrage
            VehiclePark vehiclePark = new VehiclePark(new Layout(10, 20, new Database(10)));
            Car         vehicle     = new Car("CA1001HH", "Endi", 2);
            Car         vehicle2    = new Car("CA1021HH", "Endi", 2);

            // Act
            vehiclePark.InsertCar(vehicle, 5, 13, DateTime.Now);
            string message = vehiclePark.InsertCar(vehicle2, 5, 13, DateTime.Now);

            // Assert
            Assert.AreEqual("The place (5,13) is occupied", message);
            Assert.IsFalse(vehiclePark.Layout.Database.VehiclesInPark.ContainsKey("CA1021HH"));
            Assert.AreEqual(1, vehiclePark.Layout.Database.OwnerVehicles["Endi"].Count);
        }
 public void Test_InsertCar_CorrectParameters_ShouldInsertTheCar()
 {
     var park = new VehiclePark(2, 2);
     var car = new Car("CA1011AH", "John Smith", 1);
     string message = park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
     Assert.AreEqual("Car parked successfully at place (1,1)", message);
 }
        public void Test_FindVehiclesByOwner_SomeVehiclesMatch_ShouldReturnTheCorrectVehicle()
        {
            var park = new VehiclePark(2, 2);
            var car  = new Car("CA1011AH", "John Smith", 1);

            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA3035AH", "Jane Smith", 1);
            park.InsertCar(car, 2, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            string message = park.FindVehiclesByOwner("Jane Smith");

            Assert.AreEqual(
                "Car [CA3035AH], owned by Jane Smith\r\n" +
                "Parked at (2,1)",
                message);
        }
Beispiel #17
0
        public void InsertCarWithErrorInPlace()
        {
            // arrange
            var vehiclePark = new VehiclePark(1, 1);
            var command     = new Command("Park {\"type\": \"car\", \"time\": \"2015 - 05 - 04T10: 30:00.0000000\", \"sector\": 1, \"place\""
                                          + ": 5, \"licensePlate\": \"CA1001HH\", \"owner\": \"Jay Margareta\", \"hours\": 1}");

            var car = new Car
            {
                LicensePlate  = command.Parameters["licensePlate"],
                Owner         = command.Parameters["owner"],
                ReservedHours = int.Parse(command.Parameters["hours"])
            };

            // act
            var result = vehiclePark.InsertCar(
                car,
                int.Parse(command.Parameters["sector"]),
                int.Parse(command.Parameters["place"]),
                DateTime.Parse(
                    command.Parameters["time"],
                    null,
                    System.Globalization.DateTimeStyles.RoundtripKind));

            // assert
            Assert.AreEqual("There is no place 5 in sector 1", result, "Place dont exist");
        }
 public void Test_InsertCar_IncorrectSector_ShouldReturnErrorMessage()
 {
     var park = new VehiclePark(2, 2);
     var car = new Car("CA1011AH", "John Smith", 1);
     string message = park.InsertCar(car, 10, 1, new DateTime(2015, 5, 10, 10, 30, 0));
     Assert.AreEqual("There is no sector 10 in the park", message);
 }
Beispiel #19
0
        public void InsertCarWithSuccess()
        {
            // arrange
            var vehiclePark = new VehiclePark(3, 5);
            var command     = new Command("Park {\"type\": \"car\", \"time\": \"2015 - 05 - 04T10: 30:00.0000000\", \"sector\": 1, \"place\""
                                          + ": 5, \"licensePlate\": \"CA1001HH\", \"owner\": \"Jay Margareta\", \"hours\": 1}");

            var car = new Car
            {
                LicensePlate  = command.Parameters["licensePlate"],
                Owner         = command.Parameters["owner"],
                ReservedHours = int.Parse(command.Parameters["hours"])
            };

            // act
            var result = vehiclePark.InsertCar(
                car,
                int.Parse(command.Parameters["sector"]),
                int.Parse(command.Parameters["place"]),
                DateTime.Parse(
                    command.Parameters["time"],
                    null,
                    System.Globalization.DateTimeStyles.RoundtripKind));

            // assert
            Assert.AreEqual("Car parked successfully at place (1,5)", result, "Car inserted correctly");
        }
Beispiel #20
0
        public void TestInsertCarAlreadyExists()
        {
            // Arrage
            VehiclePark vehiclePark = new VehiclePark(new Layout(10, 20, new Database(10)));
            Car         vehicle     = new Car("CA1001HH", "Endi", 2);

            // Act
            vehiclePark.InsertCar(vehicle, 5, 13, DateTime.Now);
            string message = vehiclePark.InsertCar(vehicle, 6, 13, DateTime.Now);

            // Assert
            Assert.AreEqual("There is already a vehicle with license plate CA1001HH in the park", message);
            Assert.IsTrue(vehiclePark.Layout.IsSpotFilled(5, 13));
            Assert.IsFalse(vehiclePark.Layout.IsSpotFilled(6, 13));
            Assert.IsNotNull(vehiclePark.Layout.Database.VehiclesInPark["CA1001HH"]);
            Assert.AreEqual(1, vehiclePark.Layout.Database.OwnerVehicles["Endi"].Count);
        }
 public void Test_GetStatus_FullPark_SinglePlaceOnly_ShouldBeCorrect()
 {
     var park = new VehiclePark(1, 1);
     var car = new Car("CA1011AH", "John Smith", 1);
     park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
     string message = park.GetStatus();
     Assert.AreEqual("Sector 1: 1 / 1 (100% full)", message);
 }
        public void Test_GetStatus_PartiallyFullPark_Big_ShouldBeCorrect()
        {
            var park = new VehiclePark(3, 3);
            var car = new Car("CA1011AH", "John Smith", 1);
            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA1012AH", "John Smith", 1);
            park.InsertCar(car, 2, 2, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA1013AH", "John Smith", 1);
            park.InsertCar(car, 2, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            string message = park.GetStatus();
            Assert.AreEqual(
                "Sector 1: 1 / 3 (33% full)\r\n" +
                "Sector 2: 2 / 3 (67% full)\r\n" +
                "Sector 3: 0 / 3 (0% full)",
                message);
        }
Beispiel #23
0
        public void Test_InsertCar_IncorrectPlace_ShouldReturnErrorMessage()
        {
            var    park    = new VehiclePark(2, 2);
            var    car     = new Car("CA1011AH", "John Smith", 1);
            string message = park.InsertCar(car, 1, 10, new DateTime(2015, 5, 10, 10, 30, 0));

            Assert.AreEqual("There is no place 10 in sector 1", message);
        }
Beispiel #24
0
        public void Test_InsertCar_CorrectParameters_ShouldInsertTheCar()
        {
            var    park    = new VehiclePark(2, 2);
            var    car     = new Car("CA1011AH", "John Smith", 1);
            string message = park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            Assert.AreEqual("Car parked successfully at place (1,1)", message);
        }
Beispiel #25
0
        public void TestInsertCarAtNonExistingPlaceInSectorShouldReturnErrorMessage()
        {
            IVehiclePark vehiclePark = new VehiclePark(3, 5);
            var          vehicle     = new Car("CA1001HH", "Jay Margareta", 1);

            string message = vehiclePark.InsertCar(vehicle, 1, 30, new DateTime(2015, 05, 04, 10, 30, 00));

            Assert.AreEqual("There is no place 30 in sector 1", message);
        }
Beispiel #26
0
        public void TestInsertOneLegitimateCarShouldReturnASuccessMessage()
        {
            IVehiclePark vehiclePark = new VehiclePark(3, 5);
            var          vehicle     = new Car("CA1001HH", "Jay Margareta", 1);

            string message = vehiclePark.InsertCar(vehicle, 1, 5, new DateTime(2015, 05, 04, 10, 30, 00));

            Assert.AreEqual("Car parked successfully at place (1,5)", message);
        }
Beispiel #27
0
        public void TestInsertSecondVehicleForOwner()
        {
            // Arrage
            VehiclePark vehiclePark = new VehiclePark(new Layout(10, 20, new Database(10)));
            Car         vehicle     = new Car("CA1001HH", "Endi", 2);
            Car         vehicle2    = new Car("CA1002HH", "Endi", 2);

            // Act
            vehiclePark.InsertCar(vehicle, 5, 13, DateTime.Now);
            vehiclePark.InsertCar(vehicle2, 6, 13, DateTime.Now);

            // Assert
            Assert.IsTrue(vehiclePark.Layout.IsSpotFilled(5, 13));
            Assert.IsTrue(vehiclePark.Layout.IsSpotFilled(6, 13));
            Assert.IsNotNull(vehiclePark.Layout.Database.VehiclesInPark["CA1001HH"]);
            Assert.IsNotNull(vehiclePark.Layout.Database.VehiclesInPark["CA1002HH"]);
            Assert.AreEqual(2, vehiclePark.Layout.Database.OwnerVehicles["Endi"].Count);
        }
Beispiel #28
0
        public void Test_GetStatus_FullPark_SinglePlaceOnly_ShouldBeCorrect()
        {
            var park = new VehiclePark(1, 1);
            var car  = new Car("CA1011AH", "John Smith", 1);

            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            string message = park.GetStatus();

            Assert.AreEqual("Sector 1: 1 / 1 (100% full)", message);
        }
Beispiel #29
0
        public void Test_GetStatus_PartiallyFullPark_Big_ShouldBeCorrect()
        {
            var park = new VehiclePark(3, 3);
            var car  = new Car("CA1011AH", "John Smith", 1);

            park.InsertCar(car, 1, 1, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA1012AH", "John Smith", 1);
            park.InsertCar(car, 2, 2, new DateTime(2015, 5, 10, 10, 30, 0));
            car = new Car("CA1013AH", "John Smith", 1);
            park.InsertCar(car, 2, 1, new DateTime(2015, 5, 10, 10, 30, 0));

            string message = park.GetStatus();

            Assert.AreEqual(
                "Sector 1: 1 / 3 (33% full)\r\n" +
                "Sector 2: 2 / 3 (67% full)\r\n" +
                "Sector 3: 0 / 3 (0% full)",
                message);
        }
 public void Test_ExitVehicle_AlreadyExited_ShouldReturnErrorMessage()
 {
     var park = new VehiclePark(1, 2);
     var car = new Car("CA1011AH", "John Smith", 1);
     DateTime insertDate = new DateTime(2015, 5, 10, 10, 0, 0);
     park.InsertCar(car, 1, 1, insertDate);
     park.ExitVehicle("CA1011AH", insertDate.AddHours(2), 10.0M);
     string message = park.ExitVehicle("CA1011AH", insertDate.AddHours(2), 10.0M);
     Assert.AreEqual("There is no vehicle with license plate CA1011AH in the park", message);
 }
Beispiel #31
0
        public void TestFindVehicleWithNonExistingOwnerShouldReturnErrorMessage()
        {
            var vehiclePark = new VehiclePark(2, 3);
            var vehicle     = new Car("CA1001HH", "Jay Margareta", 1);

            vehiclePark.InsertCar(vehicle, 1, 2, new DateTime(2015, 05, 04, 10, 30, 00));
            string message = vehiclePark.FindVehiclesByOwner("Margarata");

            Assert.AreEqual("No vehicles by Margarata", message);
        }
        public void TestAVehicleExitWithIncorrectLisenceplateShouldReturnAnErrorMessage()
        {
            IVehiclePark vehiclePark = new VehiclePark(3, 5);
            var          vehicle     = new Car("CA1001HH", "Jay Margareta", 1);

            vehiclePark.InsertCar(vehicle, 1, 5, new DateTime(2015, 05, 04, 10, 30, 00));
            string message = vehiclePark.ExitVehicle("CA1101HH", new DateTime(2015, 05, 04, 13, 30, 00), 40m);

            Assert.AreEqual("There is no vehicle with license plate CA1101HH in the park", message);
        }
        public void InsertCarProperly()
        {
            string result = park.InsertCar(car, 3, 3, DateTime.Parse(
                                               "2015-05-04T10:30:00.0000000",
                                               null,
                                               System.Globalization.DateTimeStyles.RoundtripKind));

            Assert.AreEqual("Car parked successfully at place (3,3)", result);
        }
Beispiel #34
0
        public void TestFullPark()
        {
            IVehiclePark vehiclePark  = new VehiclePark(1, 3);
            var          firstVehicle = new Car("CA1001HH", "Jay Margareta", 1);

            vehiclePark.InsertCar(firstVehicle, 1, 1, new DateTime(2015, 05, 04, 10, 30, 00));
            var secondVehicle = new Car("CA1111HH", "Guy Sheard", 2);

            vehiclePark.InsertCar(secondVehicle, 1, 2, new DateTime(2015, 05, 04, 10, 40, 00));
            var thirdVehicle = new Truck("C5842CH", "Jessie Raul", 5);

            vehiclePark.InsertTruck(thirdVehicle, 1, 3, new DateTime(2015, 05, 04, 10, 50, 00));
            string message = vehiclePark.GetStatus();

            var result = new StringBuilder();

            result.Append("Sector 1: 3 / 3 (100% full)");

            Assert.AreEqual(result.ToString(), message);
        }
Beispiel #35
0
        public void SearchVehiclesForExistingOwner()
        {
            park.InsertCar(new Car("ЕН7697ВН", "Dinko Todorov", 10), 3, 3, DateTime.Parse(
                               "2015-05-04T10:30:00.0000000",
                               null,
                               System.Globalization.DateTimeStyles.RoundtripKind));

            string expectedResult = "Car [ЕН7697ВН], owned by Dinko Todorov\r\nParked at (3,3)";
            string result         = park.FindVehiclesByOwner("Dinko Todorov");

            Assert.AreEqual(expectedResult, result);
        }
        public void Test_ExitVehicle_AlreadyExited_ShouldReturnErrorMessage()
        {
            var      park       = new VehiclePark(1, 2);
            var      car        = new Car("CA1011AH", "John Smith", 1);
            DateTime insertDate = new DateTime(2015, 5, 10, 10, 0, 0);

            park.InsertCar(car, 1, 1, insertDate);
            park.ExitVehicle("CA1011AH", insertDate.AddHours(2), 10.0M);
            string message = park.ExitVehicle("CA1011AH", insertDate.AddHours(2), 10.0M);

            Assert.AreEqual("There is no vehicle with license plate CA1011AH in the park", message);
        }
Beispiel #37
0
        public void GetStatusOnNotEmptyPark()
        {
            park.InsertCar(new Car("ЕН7697ВН", "Dinko Todorov", 10), 1, 2, DateTime.Parse(
                               "2015-05-04T10:30:00.0000000",
                               null,
                               System.Globalization.DateTimeStyles.RoundtripKind));

            string result         = park.GetStatus();
            string expectedResult = "Sector 1: 1 / 2 (50% full)\r\nSector 2: 0 / 2 (0% full)";

            Assert.AreEqual(expectedResult, result);
        }
        public void Test_ExitVehicle_ShouldRemoveTheVehicle()
        {
            var      park       = new VehiclePark(1, 2);
            var      car        = new Car("CA1011AH", "John Smith", 1);
            DateTime insertDate = new DateTime(2015, 5, 10, 10, 30, 0);

            park.InsertCar(car, 1, 1, insertDate);
            park.ExitVehicle("CA1011AH", insertDate.AddHours(1), 10.0M);

            string message = park.GetStatus();

            Assert.AreEqual("Sector 1: 0 / 2 (0% full)", message);
        }
Beispiel #39
0
        public void TestFindOneVehicleShouldReturnTheVehicleWithTheOwnerAndTheParkingPlace()
        {
            var vehiclePark = new VehiclePark(2, 3);
            var vehicle     = new Car("CA1001HH", "Jay Margareta", 1);

            vehiclePark.InsertCar(vehicle, 1, 2, new DateTime(2015, 05, 04, 10, 30, 00));
            string message = vehiclePark.FindVehiclesByOwner("Jay Margareta");

            var result = new StringBuilder();

            result.AppendLine("Car [CA1001HH], owned by Jay Margareta").Append("Parked at (1,2)");

            Assert.AreEqual(result.ToString(), message);
        }
Beispiel #40
0
        public void TestInsertCarOutOfRangePlace()
        {
            // Arrage
            VehiclePark vehiclePark = new VehiclePark(new Layout(10, 20, new Database(10)));
            Car         vehicle     = new Car("CA1001HH", "Endi", 2);

            // Act
            string message = vehiclePark.InsertCar(vehicle, 5, 21, DateTime.Now);

            // Assert
            Assert.AreEqual("There is no place 21 in sector 5", message);
            Assert.IsFalse(vehiclePark.Layout.Database.VehiclesInPark.ContainsKey("CA1001HH"));
            Assert.IsFalse(vehiclePark.Layout.Database.OwnerVehicles.ContainsKey("Endi"));
        }
 public void Test_ExitVehicle_MoreTimeThanReserved_ShouldChargeOvertime()
 {
     var park = new VehiclePark(1, 2);
     var car = new Car("CA1011AH", "John Smith", 1);
     DateTime insertDate = new DateTime(2015, 5, 10, 10, 0, 0);
     park.InsertCar(car, 1, 1, insertDate);
     string message = park.ExitVehicle("CA1011AH", insertDate.AddHours(2), 10.0M);
     Assert.AreEqual(
         "********************\r\n" +
         "Car [CA1011AH], owned by John Smith\r\n" +
         "at place (1,1)\r\n" +
         "Rate: $2.00\r\n" +
         "Overtime rate: $3.50\r\n" +
         "--------------------\r\n" +
         "Total: $5.50\r\n" +
         "Paid: $10.00\r\n" +
         "Change: $4.50\r\n" +
         "********************",
         message);
 }
        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_ExitVehicle_ShouldRemoveTheVehicle()
        {
            var park = new VehiclePark(1, 2);
            var car = new Car("CA1011AH", "John Smith", 1);
            DateTime insertDate = new DateTime(2015, 5, 10, 10, 30, 0);
            park.InsertCar(car, 1, 1, insertDate);
            park.ExitVehicle("CA1011AH", insertDate.AddHours(1), 10.0M);

            string message = park.GetStatus();
            Assert.AreEqual("Sector 1: 0 / 2 (0% full)", message);
        }