Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    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);
    }