示例#1
0
        public void GarageHandlerCreateGarage_Test()
        {
            string name     = "GarageNo1";
            uint   capacity = 10;

            var garage = gh.CreateGarage(name, capacity);

            Assert.Same(garage, gh.Current);
        }
        public void ListTypesOfVehicles_13Vehicles_OutputIsMatching()
        {
            // Arrange
            Console       = new ConsoleMock();
            GarageHandler = new GarageHandler();
            UIConsoleHandler consoleHandlerUi = new UIConsoleHandler(Console, GarageHandler);

            GarageHandler.CreateGarage(numberOfVehicles: 13);
            ParkVehicles(VehicleTestData.Vehicles);

            // Act
            consoleHandlerUi.UserListTypesOfVehicles();

            // Assert
            var expected = new List <string>()
            {
                "\nGarage Vehicle Types:",
                "Typ:Car            Count:3",
                "Typ:AirPlane       Count:3",
                "Typ:MotorCycle     Count:3",
                "Typ:Bus            Count:2",
                "Typ:Boat           Count:2"
            };

            CollectionAssert.AreEquivalent(expected, Console.ConsoleOutputRows);
        }
示例#3
0
        public void GarageHandler_Garage_Success()
        {
            GarageHandler     h = new GarageHandler();
            Garage <IVehicle> g = h.CreateGarage(10);

            Assert.IsNotNull(g);
        }
示例#4
0
        public void CreateGarage_with_p_spaces_Test()
        {
            int parkingSpaces = 10;

            gh.CreateGarage(parkingSpaces);

            // Expecting not fail
        }
示例#5
0
        /**
         * Interference between tests necessitates creation of different
         * vehicle instances for each test
         **/
        public GarageTests()
        {
            var gName    = "GarageNo6";
            var capacity = 42u;

            ghandler  = GarageHandler.Instance;
            vregistry = VehicleRegistry.Instance;
            garage    = ghandler.CreateGarage(gName, capacity);
        }
示例#6
0
        public void GarageHandler_CreateGarage_Succeed()
        {
            // Arrange
            var garageCreator = new GarageCreator();
            var garageHandler = new GarageHandler();
            Garage <Vehicle> garage;

            // Act

            garage = garageHandler.CreateGarage(1);

            // Assert

            Assert.IsNotNull(garage);
        }
示例#7
0
        public void GarageHandler_CreateGarage_Capacity_IsCorrect()
        {
            // Arrange
            var garageCreator = new GarageCreator();
            var garageHandler = new GarageHandler();
            int capacity      = 1;
            Garage <Vehicle> garage;

            // Act

            garage = garageHandler.CreateGarage(1);

            // Assert

            Assert.AreEqual(garage.Capacity, capacity);
        }
        public void FindVehicleByLicense_NoneExistingLicenseNumber_ResultIsFalse()
        {
            // Arrange
            Console       = new ConsoleMock();
            GarageHandler = new GarageHandler(/*Console*/);
            GarageHandler.CreateGarage(numberOfVehicles: 13);

            ParkVehicles(VehicleTestData.Vehicles);

            // Act
            var nonExistingLicense = "bad license number";
            var vehicle            = GarageHandler.FindVehicleByLicense(nonExistingLicense);

            // Assert
            Assert.IsNull(vehicle);
        }
        private void UserCreateGarage()
        {
            Console.WriteLine("\nPlease enter max number of vehicles in Garage:");
            var userResponse = Console.ReadLine();

            if (int.TryParse(userResponse, out int numberOfVehicles))
            {
                if (numberOfVehicles > -1)
                {
                    GarageHandler.CreateGarage(numberOfVehicles);
                    UserShowMenu();
                    return;
                }
            }
            Console.WriteLine("Invalid input, please enter a non negative number");
        }
        public void TryUnparkVehicle_Result_IsTrue()
        {
            // Arrange
            Console       = new ConsoleMock();
            GarageHandler = new GarageHandler(/*Console*/);
            GarageHandler.CreateGarage(numberOfVehicles: 13);
            ParkVehicles(VehicleTestData.Vehicles);


            // Act
            var result = GarageHandler.TryUnparkVehicle(VehicleTestData.Car2);

            // Assert
            var expected = true;

            Assert.AreEqual(expected, result);
        }
示例#11
0
        public void TakeOutVehicle_DoesNotExist_Car()
        {
            // Arrange

            var garageCreator = new GarageCreator();
            var garageHandler = new GarageHandler();
            var garage        = garageHandler.CreateGarage(1);

            garageHandler.ParkCar(garage, "SWW023", "white", 4, 2000, "Diseal", 1);


            // Act

            bool noSuccess = garageCreator.TakeOutVehicle(garage, "abcd123");

            // Assert

            Assert.IsFalse(noSuccess);
        }
示例#12
0
        public void FindByRegNumber_NotSucceed()
        {
            // Arrange

            var garageCreator = new GarageCreator();
            var garageHandler = new GarageHandler();
            var garage        = garageHandler.CreateGarage(1);

            garageHandler.ParkCar(garage, "abc123", "white", 4, 2000, "Diseal", 1);


            // Act

            Vehicle vehicle = garageCreator.FindByRegNumber(garage, "SWW023");

            // Assert

            Assert.IsNull(vehicle);
        }
示例#13
0
        public void FindByRegNumber_Succeed()
        {
            // Arrange

            var garageCreator = new GarageCreator();
            var garageHandler = new GarageHandler();
            var garage        = garageHandler.CreateGarage(1);
            Car expectedCar   = new Car("SWW023", "white", 4, 2000, "Diseal", 1);

            garageHandler.ParkCar(garage, "SWW023", "white", 4, 2000, "Diseal", 1);


            // Act

            Vehicle vehicle = garageCreator.FindByRegNumber(garage, "SWW023");


            // Assert
            // Find Car
            Assert.AreEqual(expectedCar.RegisteringNumber, vehicle.RegisteringNumber);
            Assert.AreEqual(expectedCar.Color, vehicle.Color);
            Assert.AreEqual(expectedCar.NoWheel, vehicle.NoWheel);
        }
        public void ListVehicles_13Vehicles_OutputIsMatching()
        {
            // Arrange
            Console = new ConsoleMock();

            GarageHandler = new GarageHandler();
            UIConsoleHandler consoleHandlerUi = new UIConsoleHandler(Console, GarageHandler);

            GarageHandler.CreateGarage(numberOfVehicles: 13);

            ParkVehicles(VehicleTestData.Vehicles);

            // Act
            consoleHandlerUi.UserListVehicles();

            // Assert
            var expected = new List <string>()
            {
                "\nGarage Vehicles:",
                "         Car LicenseNumber: 0001 Color: Yellow NumberOfWheels: 4     NumberOfCarSeats: 4",
                "    AirPlane LicenseNumber: 0002 Color: Yellow NumberOfWheels: 2     NumberOfAirPlaneWings: 2",
                "  MotorCycle LicenseNumber: 0003 Color: Red    NumberOfWheels: 2     MotorCycleTopSpeed: 250",
                "         Bus LicenseNumber: 0004 Color: Red    NumberOfWheels: 8     BusMaxNumberOfStandingPassengers: 55",
                "        Boat LicenseNumber: 0005 Color: Blue   NumberOfWheels: 0     NumberOfBoatSails: 4",
                "         Car LicenseNumber: 0006 Color: Yellow NumberOfWheels: 4     NumberOfCarSeats: 2",
                "    AirPlane LicenseNumber: 0007 Color: Blue   NumberOfWheels: 2     NumberOfAirPlaneWings: 2",
                "  MotorCycle LicenseNumber: 0008 Color: Red    NumberOfWheels: 2     MotorCycleTopSpeed: 100",
                "         Bus LicenseNumber: 0009 Color: Black  NumberOfWheels: 8     BusMaxNumberOfStandingPassengers: 6",
                "        Boat LicenseNumber: 0010 Color: Blue   NumberOfWheels: 0     NumberOfBoatSails: 2",
                "         Car LicenseNumber: 0011 Color: Green  NumberOfWheels: 4     NumberOfCarSeats: 4",
                "    AirPlane LicenseNumber: 0012 Color: Green  NumberOfWheels: 2     NumberOfAirPlaneWings: 4",
                "  MotorCycle LicenseNumber: 0013 Color: Green  NumberOfWheels: 2     MotorCycleTopSpeed: 100",
                ""
            };

            CollectionAssert.AreEquivalent(expected, Console.ConsoleOutputRows);
        }
示例#15
0
        public MainMenu(ResourceContext resourceContext, InputHandler inputHandler, ValidationHandler validationHandler, GarageHandler garageHandler) : base(resourceContext, inputHandler, validationHandler)
        {
            UserInterface garageMenu = new GarageMenu(resourceContext, inputHandler, validationHandler, garageHandler);

            header = ResourceContext.Language.GetString("Menu_Header");

            menuItems = new List <MenuItem>();

            menuItems.Add(new MenuItem('c', ResourceContext.Language.GetString("Menu_Create_Garage"), () => { garageHandler.CreateGarage();
                                                                                                              garageMenu.Run(); }));
            menuItems.Add(new MenuItem('h', ResourceContext.Language.GetString("Menu_Help"), ListHelp));
            menuItems.Add(new MenuItem('q', ResourceContext.Language.GetString("Menu_Exit"), Exit));
        }