TEST(ManualExecutor, scheduleAbs) { ManualExecutor x; size_t count = 0; x.scheduleAt([&]{ count++; }, x.now() + std::chrono::milliseconds(10)); EXPECT_EQ(count, 0); x.advance(std::chrono::milliseconds(10)); EXPECT_EQ(count, 1); }
TEST(ManualExecutor, advanceBack) { ManualExecutor x; size_t count = 0; x.advance(std::chrono::microseconds(5)); x.schedule([&]{ count++; }, std::chrono::microseconds(6)); EXPECT_EQ(count, 0); x.advanceTo(x.now() - std::chrono::microseconds(1)); EXPECT_EQ(count, 0); }
TEST(ManualExecutor, clockStartsAt0) { ManualExecutor x; EXPECT_EQ(x.now(), x.now().min()); }