Example #1
0
        public /*private*/ static Garage.eOperatesOn GetSourceOfEnergy(C19_Ex03_GarageLogic.Vehicle.eVehicle i_Vehicle)
        {
            Garage.eOperatesOn output;
            switch (i_Vehicle)
            {
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.CarThatOperatesOnFuel:
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.MotorcycleThatOperatesOnFuel:
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.TruckThatOperatesOnFuel:
                output = Garage.eOperatesOn.Fuel;
                break;

            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricCar:
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricMotorcycle:
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricTruck:
                output = Garage.eOperatesOn.Electricity;
                break;

            default:
                throw new UnreachableCodeReachedException();
            }

            return(output);
        }
Example #2
0
        public /*private*/ static float GetMaximumNumberOfHoursForLifeTimeOfBattery(C19_Ex03_GarageLogic.Vehicle.eVehicle i_Vehicle)
        {
            float output;

            switch (i_Vehicle)
            {
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricCar:
                output = ElectricCar.k_MaximumNumberOfHoursForLifeTimeOfBattery;
                break;

            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricMotorcycle:
                output = ElectricMotorcycle.k_MaximumNumberOfHoursForLifeOfBattery;
                break;

            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricTruck:
                output = ElectricTruck.k_MaximumNumberOfHoursForLifeTimeOfBattery;
                break;

            default:
                throw new ArgumentException("i_Vehicle's value must be an electric vehicle enum value.", "i_Vehicle");
            }

            return(output);
        }
Example #3
0
        public /*private*/ static float GetCapacityOfTank(C19_Ex03_GarageLogic.Vehicle.eVehicle i_Vehicle)
        {
            float output;

            switch (i_Vehicle)
            {
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.CarThatOperatesOnFuel:
                output = CarThatOperatesOnFuel.k_CapacityOfTank;
                break;

            case C19_Ex03_GarageLogic.Vehicle.eVehicle.MotorcycleThatOperatesOnFuel:
                output = MotorcycleThatOperatesOnFuel.k_CapacityOfTank;
                break;

            case C19_Ex03_GarageLogic.Vehicle.eVehicle.TruckThatOperatesOnFuel:
                output = TruckThatOperatesOnFuel.k_CapacityOfTank;
                break;

            default:
                throw new ArgumentException("i_Vehicle's value must be a vehicle that operates on fuel enum value.", "i_Vehicle");
            }

            return(output);
        }
Example #4
0
        public /*private*/ static C19_Ex03_GarageLogic.Vehicle.eAbstractVehicle GetEnumAbstractVehicle(C19_Ex03_GarageLogic.Vehicle.eVehicle i_Vehicle)
        {
            C19_Ex03_GarageLogic.Vehicle.eAbstractVehicle output;
            switch (i_Vehicle)
            {
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.CarThatOperatesOnFuel:
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricCar:
                output = C19_Ex03_GarageLogic.Vehicle.eAbstractVehicle.Car;
                break;

            case C19_Ex03_GarageLogic.Vehicle.eVehicle.MotorcycleThatOperatesOnFuel:
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricMotorcycle:
                output = C19_Ex03_GarageLogic.Vehicle.eAbstractVehicle.Motorcycle;
                break;

            case C19_Ex03_GarageLogic.Vehicle.eVehicle.TruckThatOperatesOnFuel:
            case C19_Ex03_GarageLogic.Vehicle.eVehicle.ElectricTruck:
                output = C19_Ex03_GarageLogic.Vehicle.eAbstractVehicle.Truck;
                break;

            default:
                throw new UnreachableCodeReachedException();
            }

            return(output);
        }