// $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); }
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); }
// $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); }
// $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); }
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); }