static void Main()
    {
        float           temperatureInput, stateOfChargeInput, chargeRateInput;
        ResourceManager resourceInfo = GetLanguageInput();

        CultureInformation.SetCultureInformation(resourceInfo);
        temperatureInput   = GetTemperatureUnit();
        stateOfChargeInput = GetStateOfChargeInput();
        chargeRateInput    = GetChargeRateInput();
        BatteryExamine batteryExamine = new BatteryExamine();
        bool           result         = batteryExamine.BatteryIsOk(new BatteryFactors(temperatureInput, stateOfChargeInput, chargeRateInput));
        BatteryParameterBreachSubject batteryParameterBreachSubject = new BatteryParameterBreachSubject();
        AccumulateBreachParameter     accumulateBreachParameter     = new AccumulateBreachParameter();

        batteryParameterBreachSubject.Attach(accumulateBreachParameter);
        batteryParameterBreachSubject.BatteryFeaturesBreachCheck(new BatteryFactors(temperatureInput, stateOfChargeInput, chargeRateInput));
        Dictionary <string, string> batteryAlertMessages = accumulateBreachParameter.GetReport();
        IReports      iReportsCosoleLogger           = new ConsoleReportLogger();
        BatteryReport batteryReportWithConsoleLogger = new BatteryReport(iReportsCosoleLogger);

        batteryReportWithConsoleLogger.ReportLogger(batteryAlertMessages);
        IReports      iReportsDummyLogger          = new DummyReportLogger();
        BatteryReport batteryReportWithDummyLogger = new BatteryReport(iReportsDummyLogger);

        batteryReportWithDummyLogger.ReportLogger(batteryAlertMessages);
    }