X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FScheduler%2FTimerEventProxy.test.cc;h=7b9c8a97139e476d1b09e4aaa45800112caf6ee1;hb=e3179a2123ad51d0d9eb63834a581145c4f77c92;hp=eb07187d5fa28b3e8a73e3254370329657cf51a3;hpb=acce6d54436fa760c0f4770ea3a6c76ae40e0bb8;p=senf.git diff --git a/senf/Scheduler/TimerEventProxy.test.cc b/senf/Scheduler/TimerEventProxy.test.cc index eb07187..7b9c8a9 100644 --- a/senf/Scheduler/TimerEventProxy.test.cc +++ b/senf/Scheduler/TimerEventProxy.test.cc @@ -21,10 +21,6 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief TimerEventProxy public header */ -// - -/** \file \brief TimerEventProxy.test non-inline non-template implementation */ //#include "TimerEventProxy.test.hh" @@ -33,59 +29,65 @@ // Custom includes #include "TimerEventProxy.hh" #include "Scheduler.hh" -#include #include #include #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// +using namespace senf; + namespace { - int count = 0; + int mask = 0; - void handler( senf::ClockService::clock_type time, int const &id) + void handler(ClockService::clock_type time, int const &id) { - std::cerr << "TimerEventProxy handler count="< timers; + scheduler::TimerEventProxy timers ("unit-test"); + +// timers.add( t + ClockService::milliseconds(10000), 0 , &handler); + timers.add( now + ClockService::milliseconds(800), 4, &handler); + timers.add( now + ClockService::milliseconds(200), 1, &handler); + BOOST_CHECK( timers.remove( 4)); + BOOST_CHECK(! timers.remove( 4)); + BOOST_CHECK_EQUAL( timers.timeout(4), 0); + timers.add( now + ClockService::milliseconds(700), 2, &handler); - SENF_CHECK_NO_THROW( timers.add( t + senf::ClockService::milliseconds(10000), 0 , &handler)); - SENF_CHECK_NO_THROW( timers.add( t + senf::ClockService::milliseconds(800), 3, &handler)); - SENF_CHECK_NO_THROW( timers.add( t + senf::ClockService::milliseconds(200), 1, &handler)); - SENF_CHECK_NO_THROW( timers.del( 3)); - SENF_CHECK_NO_THROW( timers.add( t + senf::ClockService::milliseconds(700), 2, &handler)); + BOOST_CHECK_EQUAL( timers.timeout(1), now + ClockService::milliseconds(200)); + BOOST_CHECK_EQUAL( timers.timeout(2), now + ClockService::milliseconds(700)); - // set timeout for termination - senf::scheduler::TimerEvent te_exit( "myexit", &myexit, t + senf::ClockService::milliseconds( 1000)); + timers.add( now + ClockService::milliseconds(800), 2, &handler); + BOOST_CHECK_EQUAL( timers.timeout(2), now + ClockService::milliseconds(800)); + timers.add( now, 4, &handler); - SENF_CHECK_NO_THROW( senf::scheduler::process() ); + run( ClockService::milliseconds( 2000)); - BOOST_CHECK( count == 2); + BOOST_CHECK( mask == 7); } } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_