TEST(ManualExecutor, advanceNeg) { ManualExecutor x; size_t count = 0; x.advance(std::chrono::microseconds(5)); x.schedule([&]{ count++; }, std::chrono::microseconds(6)); EXPECT_EQ(count, 0); x.advance(std::chrono::microseconds(-1)); EXPECT_EQ(count, 0); }
TEST(ManualExecutor, advanceBack) { ManualExecutor x; size_t count = 0; x.advance(microseconds(5)); x.schedule([&]{ count++; }, microseconds(6)); EXPECT_EQ(count, 0); x.advanceTo(x.now() - microseconds(1)); EXPECT_EQ(count, 0); }
TEST(ManualExecutor, scheduleDur) { ManualExecutor x; size_t count = 0; std::chrono::milliseconds dur {10}; x.schedule([&]{ count++; }, dur); EXPECT_EQ(count, 0); x.run(); EXPECT_EQ(count, 0); x.advance(dur/2); EXPECT_EQ(count, 0); x.advance(dur/2); EXPECT_EQ(count, 1); }