/* * RefreshManager_test.cpp * * Created on: Mar 6, 2014 * Author: jonny */ #include #include #include "core/RefreshManager.h" using ::testing::_; using ::testing::AtLeast; using ::testing::Expectation; namespace controller { class MockInternalScheduler: public InternalScheduler { public: MOCK_METHOD1(scheduleCommand, void (ScheduledCommand command)); }; TEST(RefreshManager, RefreshIsScheduledAfterStartup) { Configuration config; MockInternalScheduler internalScheduler; auto init = ScheduledCommand(Command::Refresh, config.Timings.tREF); EXPECT_CALL(internalScheduler, scheduleCommand(init)); RefreshManager manager(config, internalScheduler); } TEST(RefreshManager, FinishedRefreshTriggersNewRefresh) { Configuration config; MockInternalScheduler internalScheduler; EXPECT_CALL(internalScheduler, scheduleCommand(_)).Times(2); //schedule first refresh in constructor RefreshManager manager(config, internalScheduler); //schedule second refresh in callback (end_refresh) manager.refreshFinished(config.Timings.tREF + config.Timings.tREFA); } } /* namespace controller */