private void UserParkVehicle(Vehicle randomVehicle)
        {
            if (randomVehicle == null)
            {
                Console.WriteLine("Invalid Vehicle, was NOT Parked");
                return;
            }

            var parkMenuItemKey = MenuItems.ParkVehicle;
            var parkMenuItem    = MenuItems.GetMenuText(parkMenuItemKey, GarageExists, GarageIsFull);

            if (parkMenuItem.Length < 1)
            {
                return;
            }

            Console.WriteLine("Press " + parkMenuItem);
            var userResponse = Console.ReadKey();

            if (userResponse.Key == parkMenuItemKey)
            {
                if (GarageHandler.TryParkVehicle(randomVehicle))
                {
                    Console.WriteLine("VEHICLE PARKED");
                    return;
                }
            }

            Console.WriteLine("VEHICLE NOT PARKED");
        }
        private void UserGetRandomVehicle()
        {
            var randomVehicle = GarageHandler.GetRandomVehicle();

            Console.WriteLine("\nRANDOM VEHICLE: " + randomVehicle.ToString().Trim());
            UserParkVehicle(randomVehicle);
        }
        public void ListVehiclesTest()
        {
            // Arrange
            Garage <Vehicle> vehicles = new Garage <Vehicle>(5);
            Aircraft         seidy    = new Aircraft("SE-IDY", "White", 3, 610, "Piper", "PA-28-161 Warrior II", "PA28", AircraftType.LandPlane, AircraftEngineType.Piston, 1);
            Bus        bus            = new Bus("ERB321", "Grey", 4, 7350, 15);
            Motorcycle motorcycle     = new Motorcycle("XYZ041", "Black", 2, 189, 599);
            Car        car            = new Car("ABC123", "Red", 4, 1250, CarPropulsionType.Gasoline);
            Boat       boat           = new Boat("SBR-485214", "Blue", 650, 4);

            vehicles.ParkVehicle(seidy);
            vehicles.ParkVehicle(bus);
            vehicles.ParkVehicle(motorcycle);
            vehicles.ParkVehicle(car);
            vehicles.ParkVehicle(boat);
            string[] expectedStrings = new string[5] {
                "SE-IDY, an aircraft", "ERB321, a bus that can hold 15 passengers", "XYZ041, a motorcycle", "ABC123, a gasoline car", "SBR-485214, a boat 4 meters long"
            };
            GarageHandler handler = new GarageHandler();

            handler.SetGarage(vehicles);

            // Act
            var actualStrings = handler.ListVehicles();

            // Assert
            CollectionAssert.AreEquivalent(expectedStrings, actualStrings);
        }
        public void ListVehicleTypeCountsTest()
        {
            Garage <Vehicle> vehicles = new Garage <Vehicle>(5);
            Aircraft         seidy    = new Aircraft("SE-IDY", "White", 3, 610, "Piper", "PA-28-161 Warrior II", "PA28", AircraftType.LandPlane, AircraftEngineType.Piston, 1);
            Bus        bus            = new Bus("ERB321", "Grey", 4, 7350, 15);
            Motorcycle motorcycle     = new Motorcycle("XYZ041", "Black", 2, 189, 599);
            Car        car            = new Car("ABC123", "Red", 4, 1250, CarPropulsionType.Gasoline);
            Boat       boat           = new Boat("SBR-485214", "Blue", 650, 4);

            vehicles.ParkVehicle(seidy);
            vehicles.ParkVehicle(bus);
            vehicles.ParkVehicle(motorcycle);
            vehicles.ParkVehicle(car);
            vehicles.ParkVehicle(boat);
            var expected = new Dictionary <string, int>();
            var handler  = new GarageHandler();

            handler.SetGarage(vehicles);
            expected.Add("aircraft", 1);
            expected.Add("bus", 1);
            expected.Add("motorcycle", 1);
            expected.Add("car", 1);
            expected.Add("boat", 1);

            // Act
            var actual = handler.GetVehicleTypeCounts();

            // Assert
            CollectionAssert.AreEquivalent(actual, expected);
        }
Example #5
0
        public void GarageHandler_Garage_Success()
        {
            GarageHandler     h = new GarageHandler();
            Garage <IVehicle> g = h.CreateGarage(10);

            Assert.IsNotNull(g);
        }
        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);
        }
Example #7
0
 public Oprations(int capacity)
 {
     garageHandler = new GarageHandler(capacity);
     garageHandler.Add(new Car("car123", "Red", 4, 12));
     counter  = garageHandler.garage.Counter();
     Capacity = capacity;
 }
        static void Main(string[] args)
        {
            Console       = new ConsoleInteraction();
            GarageHandler = new GarageHandler(/*Console*/);

            UIHandler = new UIConsoleHandler(Console, GarageHandler);
            UIHandler.Start();
        }
Example #9
0
        static void Main(string[] args)
        {
            GarageHandler garageHandler = CreateGarageHandler();
            MainMenu      mainMenu      = new MainMenu("Main Menu", width: 200, GarageHandler: garageHandler);
            MenuHandler   MenuHandler   = new MenuHandler(mainMenu);

            MenuHandler.ActivateMenus();
        }
Example #10
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);
        }
Example #11
0
        public void ComputesLeaveGarageFalse()
        {
            var handler = new GarageHandler();

            handler.CreateGarageWithSize(8);
            handler.ParkVehicle(new Motorcycle("MCA829", 2, "Green", 750));
            handler.ParkVehicle(new Airplane("AAA010", 8, "White", 4));

            Assert.AreEqual(false, handler.LeaveGarage("AAA011"));
        }
Example #12
0
 public AddVehicleMenu(String title, int width, GarageHandler garageHandler) : base(title, width)
 {
     GarageHandler = garageHandler;
     AddMenuRow(new MenuRow("Add a car", AddCar));
     AddMenuRow(new MenuRow("Add a motorcycle", AddMotorCycle));
     AddMenuRow(new MenuRow("Add a boat", AddBoat));
     AddMenuRow(new MenuRow("Add an airPlane", AddAirPlane));
     AddMenuRow(new MenuRow("Add a bus", AddBus));
     AddMenuRow(new MenuRow("Leave the menu", OnLeaveMenu));
 }
Example #13
0
        public void ListParkVehicles_WhenEmpty_ReturnsNull()
        {
            //var expected = (string[])null;
            //Vehicle[] expected = null;
            // https://stackoverflow.com/questions/6802573/interfaces-whats-the-point
            var handler = new GarageHandler();
            var garage  = new Garage <Vehicle>("Abcd", 4);

            handler.ListParkedVehicles(garage);
        }
Example #14
0
        private static GarageHandler CreateGarageHandler()
        {
            GarageInitMenu garageInitMenu  = new GarageInitMenu("Garage Creation", 100);
            MenuHandler    initMenuHandler = new MenuHandler(garageInitMenu);

            initMenuHandler.ActivateMenus();
            GarageHandler garageHandler = garageInitMenu.GarageHandler;

            return(garageHandler);
        }
Example #15
0
 public MainMenu(String title, int width, GarageHandler GarageHandler) : base(title, width)
 {
     this.GarageHandler = GarageHandler;
     AddMenuRow(new MenuRow("Add a vehicle", AddVehicleMenu.CreateMenu(width, GarageHandler)));
     AddMenuRow(new MenuRow("Remove a vehicle", RemoveVehicle));
     AddMenuRow(new MenuRow("Show all vehicles in garage", ShowVehicles));
     AddMenuRow(new MenuRow("Show vehicles by Group", GroupByVehicleType));
     AddMenuRow(new MenuRow("Search on vehicles", SerchOnVechicleFeatures));
     AddMenuRow(new MenuRow("Save garage", SaveGarage));
     AddMenuRow(new MenuRow("Leave the menu", OnLeaveMenu));
 }
Example #16
0
        public void ParkAutomobile()
        {
            int volvoParkingId = _random.Next(50);
            int skodaParkingId = _random.Next(50);
            int vwParkingId    = _random.Next(50);

            GarageHandler?.Invoke(this, new ParkingEventArgs(
                                      skodaParkingId == 0 ? skodaParkingId = 1 : skodaParkingId,
                                      volvoParkingId == 0 ? volvoParkingId = 1 : volvoParkingId,
                                      vwParkingId == 0 ? vwParkingId       = 1 : vwParkingId));
        }
Example #17
0
        public void ComputesGarageFull()
        {
            var handler = new GarageHandler();

            handler.CreateGarageWithSize(4);
            handler.ParkVehicle(new Motorcycle("MCA829", 2, "Green", 750));
            handler.ParkVehicle(new Airplane("AAA010", 8, "White", 4));
            handler.ParkVehicle(new Motorcycle("BRM840", 2, "Svart", 754));
            handler.ParkVehicle(new Boat("OOS005", 0, "Green", 12.4));

            Assert.AreEqual(false, handler.ParkVehicle(new Bus("MMM888", 6, "Brown", 24)));
        }
        public void InsertmockTest()
        {
            //Arrange
            var capatity1      = Rnd.Next(1, 20);
            var garageHandler1 = new GarageHandler();

            garageHandler1.CreateNewGarage(capatity1);
            //act
            garageHandler1.Insertmock();

            //assert
            Assert.AreEqual(capatity1 - 2, garageHandler1.Count, $"Count fel");
        }
Example #19
0
        public void ComputesCreateGarageWithSizeOccupied()
        {
            var handler = new GarageHandler();

            handler.CreateGarageWithSize(5);
            handler.ParkVehicle(new Motorcycle("MCA829", 2, "Green", 750));
            handler.ParkVehicle(new Airplane("AAA010", 8, "White", 4));
            var expected = 2;

            var actual = handler.OccupiedParkingLots;

            Assert.AreEqual(expected, actual);
        }
Example #20
0
        public void ComputesLeaveGarageTrue()
        {
            var handler = new GarageHandler();

            handler.CreateGarageWithSize(8);
            handler.ParkVehicle(new Motorcycle("MCA829", 2, "Green", 750));
            handler.ParkVehicle(new Airplane("AAA010", 8, "White", 4));
            var expected = true;

            var actual = handler.LeaveGarage("AAA010");

            Assert.AreEqual(expected, actual);
        }
 internal void SaveGarage()
 {
     Console.WriteLine("\nSave Garage");
     try
     {
         GarageHandler.SaveGarage();
         Console.WriteLine("*** Saved ***");
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
        private void UserFindVehicleByLicense()
        {
            Console.WriteLine("\nFind Vehicle, Please type LicenseNumber:");
            var licenseNumber = Console.ReadLine();
            var vehicle       = GarageHandler.FindVehicleByLicense(licenseNumber);

            if (vehicle != null)
            {
                Console.WriteLine($"FOUND VEHICLE IN GARAGE {vehicle.ToString()}");
                UserUnparkVehicle(vehicle);
                return;
            }
            Console.WriteLine($"Vehicle with License: {licenseNumber} Not in Garage");
        }
        public void GetByRegNumberTest()
        {
            //Arrange
            var capatity1      = 22;
            var garageHandler1 = new GarageHandler();

            garageHandler1.CreateNewGarage(capatity1);
            garageHandler1.Insertmock();
            //act
            var res = garageHandler1.GetByRegNumber("DLA 456");

            //assert
            Assert.AreEqual(res.Count(), 1, $"Seems to found wrong elment");
        }
        public void GetSubTypeTest()
        {
            //Arrange
            var capatity1      = Rnd.Next(1, 20);
            var garageHandler1 = new GarageHandler();

            garageHandler1.CreateNewGarage(capatity1);

            //act
            var test = garageHandler1.GetSubType();

            //assert
            Assert.AreEqual("Garage_1._0.Vehicle", test.ToString(), $"Fault type");
        }
        public void GetAllVehiclesTest()
        {
            //Arrange
            var capatity1      = Rnd.Next(1, 20);
            var garageHandler1 = new GarageHandler();

            garageHandler1.CreateNewGarage(capatity1);
            garageHandler1.Insertmock();
            //act
            var res = garageHandler1.GetAllVehicles();

            //assert
            Assert.AreEqual(res.Count(), garageHandler1.Count, $"Count fel");
        }
Example #26
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);
        }
Example #27
0
        public void GarageAddVehicle_WithVehicles_ReturnIsFull(int cap, int len)
        {
            //Arrange
            var garage = GarageHandler.GetGarageCopyForTest(cap);
            var cars   = CreateVehicles(len);

            //Act
            foreach (var car in cars)
            {
                garage.AddVehicle(car);
            }

            //Assert
            Assert.IsTrue(garage.IsFull);
        }
Example #28
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");
        }