internal SimCorpMobileModel(IOutput output, MobileModels mobileModel, Screen screen, Microphone microphone,
                                    Battery battery, Speaker dynamic, int availableSimCardSlots, SMSStorage smsStorage)
        {
            Output                = output;
            Screen                = screen;
            MobileModel           = mobileModel;
            Microphone            = microphone;
            Battery               = battery;
            Speaker               = dynamic;
            AvailableSimCardSlots = availableSimCardSlots;
            SMSStorage            = smsStorage;

            var discharger = new BatteryDischarger(-1);

            discharger.Discharge += Battery.DecreaseChargeLevel;
            discharger.Start();
            var thread = new Thread(CheckBattery);

            thread.Start();
            thread.IsBackground = true;
        }
 public void TestInitialize()
 {
     _battery               = new Battery(2000, BatteryType.LIPO);
     _discharger            = new BatteryDischarger(DISCHARGE_VALUE);
     _discharger.Discharge += _battery.DecreaseChargeLevel;
 }