| 20 | CPPUNIT_TEST_SUITE_REGISTRATION(DHTTaskExecutorTest); |
| 21 | |
| 22 | void DHTTaskExecutorTest::testUpdate() |
| 23 | { |
| 24 | std::shared_ptr<DHTNode> rn; |
| 25 | DHTTaskExecutor tex(2); |
| 26 | std::shared_ptr<MockDHTTask> tasks[] = { |
| 27 | std::shared_ptr<MockDHTTask>(new MockDHTTask(rn)), |
| 28 | std::shared_ptr<MockDHTTask>(new MockDHTTask(rn)), |
| 29 | std::shared_ptr<MockDHTTask>(new MockDHTTask(rn)), |
| 30 | std::shared_ptr<MockDHTTask>(new MockDHTTask(rn))}; |
| 31 | tasks[1]->finished_ = true; |
| 32 | for (size_t i = 0; i < arraySize(tasks); ++i) { |
| 33 | tex.addTask(tasks[i]); |
| 34 | } |
| 35 | CPPUNIT_ASSERT_EQUAL((size_t)0, tex.getExecutingTaskSize()); |
| 36 | CPPUNIT_ASSERT_EQUAL((size_t)4, tex.getQueueSize()); |
| 37 | tex.update(); |
| 38 | CPPUNIT_ASSERT_EQUAL((size_t)2, tex.getExecutingTaskSize()); |
| 39 | CPPUNIT_ASSERT_EQUAL((size_t)1, tex.getQueueSize()); |
| 40 | tasks[0]->finished_ = true; |
| 41 | tasks[2]->finished_ = true; |
| 42 | tasks[3]->finished_ = true; |
| 43 | tex.update(); |
| 44 | CPPUNIT_ASSERT_EQUAL((size_t)0, tex.getExecutingTaskSize()); |
| 45 | CPPUNIT_ASSERT_EQUAL((size_t)0, tex.getQueueSize()); |
| 46 | } |
| 47 | |
| 48 | } // namespace aria2 |
nothing calls this directly
no test coverage detected