测试 Round-Robin 调度器的基本功能
| 11 | |
| 12 | // 测试 Round-Robin 调度器的基本功能 |
| 13 | TEST(RoundRobinSchedulerTest, BasicEnqueueDequeue) { |
| 14 | RoundRobinScheduler scheduler; |
| 15 | |
| 16 | // 创建测试任务 |
| 17 | TaskControlBlock task1("Task1", 1, nullptr, nullptr); |
| 18 | task1.status = TaskStatus::kReady; |
| 19 | |
| 20 | TaskControlBlock task2("Task2", 2, nullptr, nullptr); |
| 21 | task2.status = TaskStatus::kReady; |
| 22 | |
| 23 | // 测试空队列 |
| 24 | EXPECT_EQ(scheduler.PickNext(), nullptr); |
| 25 | |
| 26 | // 加入任务 |
| 27 | scheduler.Enqueue(&task1); |
| 28 | scheduler.Enqueue(&task2); |
| 29 | |
| 30 | // 测试 FIFO 顺序 |
| 31 | EXPECT_EQ(scheduler.PickNext(), &task1); |
| 32 | EXPECT_EQ(scheduler.PickNext(), &task2); |
| 33 | EXPECT_EQ(scheduler.PickNext(), nullptr); |
| 34 | } |
| 35 | |
| 36 | // 测试 Round-Robin 的轮转特性 |
| 37 | TEST(RoundRobinSchedulerTest, RoundRobinRotation) { |
nothing calls this directly
no test coverage detected