private void TestNoAutoReset(Linn.Timer aTimer, DStartStopFunc aStartFunc, DStartStopFunc aStopFunc) { aTimer.AutoReset = false; aTimer.Interval = 100; TEST(iEventHandler1 == 0); TEST(iEventHandler2 == 0); // 0 handlers aStartFunc(aTimer); Thread.Sleep(200); TEST(iEventHandler1 == 0); TEST(iEventHandler2 == 0); TEST(aTimer.Enabled == false); // 1 handler aTimer.Elapsed += new EventHandler(EventHandler1); aStartFunc(aTimer); Thread.Sleep(200); TEST(iEventHandler1 == 1); TEST(iEventHandler2 == 0); TEST(iEventHandler1Sender == aTimer); TEST(aTimer.Enabled == false); // 2 handlers aTimer.Elapsed += new EventHandler(EventHandler2); aStartFunc(aTimer); Thread.Sleep(200); TEST(iEventHandler1 == 2); TEST(iEventHandler2 == 1); TEST(iEventHandler1Sender == aTimer); TEST(iEventHandler2Sender == aTimer); TEST(aTimer.Enabled == false); // Start & Stop - should get no events aStartFunc(aTimer); aStopFunc(aTimer); TEST(iEventHandler1 == 2); TEST(iEventHandler2 == 1); TEST(aTimer.Enabled == false); }
private void TestAutoReset(Linn.Timer aTimer, DStartStopFunc aStartFunc, DStartStopFunc aStopFunc) { aTimer.AutoReset = true; aTimer.Interval = 100; TEST(iEventHandler1 == 0); TEST(iEventHandler2 == 0); // 0 handlers aStartFunc(aTimer); Thread.Sleep(1050); // 10 events should have happened TEST(aTimer.Enabled == true); aStopFunc(aTimer); TEST(iEventHandler1 == 0); TEST(iEventHandler2 == 0); TEST(aTimer.Enabled == false); // 1 handler aTimer.Elapsed += new EventHandler(EventHandler1); aStartFunc(aTimer); Thread.Sleep(1050); // 10 events should have happened TEST(aTimer.Enabled == true); aStopFunc(aTimer); TEST(iEventHandler1 == 10); TEST(iEventHandler2 == 0); TEST(iEventHandler1Sender == aTimer); TEST(aTimer.Enabled == false); // 2 handlers aTimer.Elapsed += new EventHandler(EventHandler2); aStartFunc(aTimer); Thread.Sleep(1050); // 10 events should have happened TEST(aTimer.Enabled == true); aStopFunc(aTimer); TEST(iEventHandler1 == 20); TEST(iEventHandler2 == 10); TEST(iEventHandler1Sender == aTimer); TEST(iEventHandler2Sender == aTimer); TEST(aTimer.Enabled == false); }