public void StartChargeTask() { int maxCharge = 100; int resultCharge = 0; FakeInOut fakeInOut = new FakeInOut(); int capacity = 5000; int chargingTime = 60; int charge = 99; bool isCall = false; Battery battery = new BatteryTask(capacity, chargingTime, fakeInOut); battery.ShowCharge += (s, c) => { resultCharge = c; isCall = true; }; battery.Charge = charge; battery.StartCharge(1); for (int i = 0; (i < 100) && (!isCall); i++) { Thread.Sleep(2); } Assert.IsTrue(isCall); Assert.AreEqual(resultCharge, maxCharge); }
private Battery GetBattery(ParallelType type, IUserInOut userInOut) { Battery battery; int capacity = 5000; int chargingTime = 60; if (type.Equals(ParallelType.Thread)) { battery = new BatteryThread(capacity, chargingTime, userInOut); } else { battery = new BatteryTask(capacity, chargingTime, userInOut); } return(battery); }