Exemplo n.º 1
0
        // $G$ CSS-013 (-5) Bad variable name (should be in the form of: i_CamelCase).
        // $G$ DSN-002 (-5) The UI should not know Car\Truck\Motorcycle
        private float getCurrentAirPressureInWheelsFromUser(CreateNewVehicle.eVehicleType vehicleType)
        {
            float  currentAirPressureInWheels;
            string userInput = getValidFloatNumberAsStringFromUser(k_CurrentAirPressureInWheels);

            currentAirPressureInWheels = float.Parse(userInput);
            switch (vehicleType)
            {
            case CreateNewVehicle.eVehicleType.Electric_Motorcycle:
            case CreateNewVehicle.eVehicleType.Fuel_Motorcycle:
                if (currentAirPressureInWheels < CreateNewVehicle.k_MinAirPressureInWheels || currentAirPressureInWheels > CreateNewVehicle.k_MotorcycleWheelsMaxAirPressure)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAirPressureInWheels, CreateNewVehicle.k_MotorcycleWheelsMaxAirPressure, k_ValueRangeErrorMessage);
                }
                break;

            case CreateNewVehicle.eVehicleType.Electric_Car:
            case CreateNewVehicle.eVehicleType.Fuel_Car:
                if (currentAirPressureInWheels < CreateNewVehicle.k_MinAirPressureInWheels || currentAirPressureInWheels > CreateNewVehicle.k_CarWheelsMaxAirPressure)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAirPressureInWheels, CreateNewVehicle.k_MotorcycleWheelsMaxAirPressure, k_ValueRangeErrorMessage);
                }
                break;

            case CreateNewVehicle.eVehicleType.Truck:
                if (currentAirPressureInWheels < CreateNewVehicle.k_MinAirPressureInWheels || currentAirPressureInWheels > CreateNewVehicle.k_TruckWheelsMaxAirPressure)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAirPressureInWheels, CreateNewVehicle.k_MotorcycleWheelsMaxAirPressure, k_ValueRangeErrorMessage);
                }
                break;
            }

            return(currentAirPressureInWheels);
        }
Exemplo n.º 2
0
        private Vehicle getVehicleFromUser(string i_vehicleLicenseNumber)
        {
            Vehicle newVehicle = null;

            CreateNewVehicle.eVehicleType vehicleType = (CreateNewVehicle.eVehicleType)getValidEnumOptionFromUser(k_VehicleType, new CreateNewVehicle.eVehicleType());
            string        modelName = getNotEmptyStringFromUser(k_VehicleModelName);
            string        wheelsManufacturerName     = getNotEmptyStringFromUser(k_WheelsManufacturerName);
            float         currentAirPressureInWheels = getCurrentAirPressureInWheelsFromUser(vehicleType);
            float         currentAmountOfEnergy      = getCurrentAmountOfEnergyFromUser(vehicleType);
            List <Object> uniqueVehiclePropertiesArr = getUniqueVehiclePropertiesListFromUser(vehicleType);

            newVehicle = r_Garage.CreateVehicle(vehicleType, i_vehicleLicenseNumber, modelName, wheelsManufacturerName, currentAirPressureInWheels, currentAmountOfEnergy, uniqueVehiclePropertiesArr);

            return(newVehicle);
        }
Exemplo n.º 3
0
        // $G$ CSS-013 (-5) Bad variable name (should be in the form of: i_CamelCase).
        // $G$ DSN-002 (-5) The UI should not know Car\Truck\Motorcycle
        private float getCurrentAmountOfEnergyFromUser(CreateNewVehicle.eVehicleType vehicleType)
        {
            float  currentAmountOfEnergy;
            string userInput = getValidFloatNumberAsStringFromUser(k_CurrentAmountOfEnergy);

            currentAmountOfEnergy = float.Parse(userInput);
            switch (vehicleType)
            {
            case CreateNewVehicle.eVehicleType.Electric_Motorcycle:
                if (currentAmountOfEnergy < CreateNewVehicle.k_MinAmountOfEnergy || currentAmountOfEnergy > CreateNewVehicle.k_MotorcycleMaxBatteryTime)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAmountOfEnergy, CreateNewVehicle.k_MotorcycleMaxBatteryTime, k_ValueRangeErrorMessage);
                }
                break;

            case CreateNewVehicle.eVehicleType.Fuel_Motorcycle:
                if (currentAmountOfEnergy < CreateNewVehicle.k_MinAmountOfEnergy || currentAmountOfEnergy > CreateNewVehicle.k_MotorcycleFuelTankCapacity)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAmountOfEnergy, CreateNewVehicle.k_MotorcycleFuelTankCapacity, k_ValueRangeErrorMessage);
                }
                break;

            case CreateNewVehicle.eVehicleType.Electric_Car:
                if (currentAmountOfEnergy < CreateNewVehicle.k_MinAmountOfEnergy || currentAmountOfEnergy > CreateNewVehicle.k_CarMaxBatteryTime)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAmountOfEnergy, CreateNewVehicle.k_CarMaxBatteryTime, k_ValueRangeErrorMessage);
                }
                break;

            case CreateNewVehicle.eVehicleType.Fuel_Car:
                if (currentAmountOfEnergy < CreateNewVehicle.k_MinAmountOfEnergy || currentAmountOfEnergy > CreateNewVehicle.k_CarFuelTankCapacity)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAmountOfEnergy, CreateNewVehicle.k_CarFuelTankCapacity, k_ValueRangeErrorMessage);
                }
                break;

            case CreateNewVehicle.eVehicleType.Truck:
                if (currentAmountOfEnergy < CreateNewVehicle.k_MinAmountOfEnergy || currentAmountOfEnergy > CreateNewVehicle.k_TruckCapacityFuelTank)
                {
                    throw new ValueOutOfRangeException(CreateNewVehicle.k_MinAmountOfEnergy, CreateNewVehicle.k_TruckCapacityFuelTank, k_ValueRangeErrorMessage);
                }
                break;
            }

            return(currentAmountOfEnergy);
        }
Exemplo n.º 4
0
        // $G$ DSN-002 (-10) The UI should not know Car\Truck\Motorcycle
        private List <Object> getUniqueVehiclePropertiesListFromUser(CreateNewVehicle.eVehicleType vehicleType)
        {
            List <Object> uniqueVehiclePropertiesList = null;

            switch (vehicleType)
            {
            case CreateNewVehicle.eVehicleType.Electric_Motorcycle:
            case CreateNewVehicle.eVehicleType.Fuel_Motorcycle:
                uniqueVehiclePropertiesList = getUniqueMotorCyclePropertiesListFromUser();
                break;

            case CreateNewVehicle.eVehicleType.Electric_Car:
            case CreateNewVehicle.eVehicleType.Fuel_Car:
                uniqueVehiclePropertiesList = getUniqueCarPropertiesListFromUser();
                break;

            case CreateNewVehicle.eVehicleType.Truck:
                uniqueVehiclePropertiesList = getUniqueTruckPropertiesListFromUser();
                break;
            }

            return(uniqueVehiclePropertiesList);
        }
Exemplo n.º 5
0
        public Vehicle CreateVehicle(CreateNewVehicle.eVehicleType i_VehicleType, string i_VehicleLicenseNumber, string i_VehicleModelName, string i_VehicleWheelsManufacturerName, float i_CurrentAirPressureInWheels, float i_CurrentAmountOfEnergy, List <Object> i_UniqueVehiclePropertiesArr)
        {
            Vehicle vehicle = CreateNewVehicle.CreateVehicle(i_VehicleType, i_VehicleLicenseNumber, i_VehicleModelName, i_VehicleWheelsManufacturerName, i_CurrentAirPressureInWheels, i_CurrentAmountOfEnergy, i_UniqueVehiclePropertiesArr);

            return(vehicle);
        }