protected MobileBase(IOutput output, BackgroundWorkerFactoryMethod backgroundWorkerFactory = null) { this.output = output; SMSProvider.SMSReciever += SMSMessenger.AddMessage; var workerFactory = backgroundWorkerFactory ?? new BackgroundWorkerFactoryMethod(); Battery = new Battery(); BackgroundWorkerBase discharge = workerFactory.CreateWorker(() => { while (true) { Thread.Sleep(2500); Battery.ChangeCharge(-Battery.CapacityWh / 100); } }); discharge.Start(); managebleChargeAction = new ManageableAction(new Action(() => { Thread.Sleep(1000); Battery.ChangeCharge(Charger == null ? 0f : (float)Math.Pow(Charger.ChargeCurrentMa, 2) * 0.00005f); })); BackgroundWorkerBase charge = workerFactory.CreateWorker(() => managebleChargeAction.ThreadStart()); charge.Start(); }
public void ChangeChargeMinimumTest() { var battery = new Battery(); battery.ChangeCharge(-10 * battery.CapacityWh); Assert.IsTrue(battery.ChargeWh == 0f); }