1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 #include "base/timer.hpp"
4 #include "base/utility.hpp"
5 #include "base/application.hpp"
6 #include <BoostTestTargetConfig.h>
8 using namespace icinga;
10 BOOST_AUTO_TEST_SUITE(base_timer)
12 BOOST_AUTO_TEST_CASE(construct)
14 Timer::Ptr timer = new Timer();
18 BOOST_AUTO_TEST_CASE(interval)
20 Timer::Ptr timer = new Timer();
21 timer->SetInterval(1.5);
22 BOOST_CHECK(timer->GetInterval() == 1.5);
27 static void Callback(const Timer::Ptr&)
32 BOOST_AUTO_TEST_CASE(invoke)
34 Timer::Ptr timer = new Timer();
35 timer->OnTimerExpired.connect(&Callback);
36 timer->SetInterval(1);
43 BOOST_CHECK(counter >= 4 && counter <= 6);
46 BOOST_AUTO_TEST_CASE(scope)
48 Timer::Ptr timer = new Timer();
49 timer->OnTimerExpired.connect(&Callback);
50 timer->SetInterval(1);
58 BOOST_CHECK(counter >= 4 && counter <= 6);
61 BOOST_AUTO_TEST_SUITE_END()