TEST_F(TaskTest, Delay) { Task<void> task = Concurrency::Delay(std::chrono::milliseconds(20), scheduler); EXPECT_FALSE(task.IsDone()); EXPECT_FALSE(task.IsRejected()); wait(std::chrono::nanoseconds(1)); EXPECT_FALSE(task.IsDone()); EXPECT_FALSE(task.IsRejected()); wait(std::chrono::milliseconds(30)); EXPECT_TRUE(task.IsDone()); EXPECT_FALSE(task.IsRejected()); }
TEST_F(TaskTest, Consturctor_Default) { Task<int> task; task = Concurrency::FromResult(42, scheduler); EXPECT_TRUE(task.IsDone()); EXPECT_EQ(scheduler, task.GetScheduler()); }
// RemoveDoneTasks void TaskManager::RemoveDoneTasks() { Task* task = fTasks.GetFirst(); while (task) { Task* next = fTasks.GetNext(task); if (task->IsDone()) { fTasks.Remove(task); task->Terminate(); delete task; } task = next; } }