diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-06-17 11:43:29 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-06-17 11:43:29 +0000 |
| commit | dfe2f993454bea38614bf1ad70d12a7bec947e69 (patch) | |
| tree | d9ade0f4c9a3a25ba478d92d4a7f20c55fc3a268 /test | |
| parent | 09502fc3db5462a2a0ae096dc0d3985ca9a190b5 (diff) | |
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Filled up pieces based on the number of missing blocks, rather
than
simplay the number of piece * block length.
* src/BtRequestFactory.h
* src/DefaultBtInteractive.cc
* src/DefaultBtInteractive.h
* src/DefaultBtRequestFactory.cc
* src/DefaultBtRequestFactory.h
* src/Piece.cc
* src/Piece.h
* test/BitfieldManTest.cc
* test/DefaultBtRequestFactoryTest.cc
* test/MockBtRequestFactory.h
Diffstat (limited to 'test')
| -rw-r--r-- | test/BitfieldManTest.cc | 12 | ||||
| -rw-r--r-- | test/DefaultBtRequestFactoryTest.cc | 15 | ||||
| -rw-r--r-- | test/MockBtRequestFactory.h | 2 |
3 files changed, 26 insertions, 3 deletions
diff --git a/test/BitfieldManTest.cc b/test/BitfieldManTest.cc index 2ab8e936..75f3ca22 100644 --- a/test/BitfieldManTest.cc +++ b/test/BitfieldManTest.cc @@ -26,6 +26,7 @@ class BitfieldManTest:public CppUnit::TestFixture { CPPUNIT_TEST(testGetMissingIndex_noarg); CPPUNIT_TEST(testGetMissingUnusedIndex_noarg); CPPUNIT_TEST(testCountFilteredBlock); + CPPUNIT_TEST(testCountMissingBlock); CPPUNIT_TEST_SUITE_END(); private: SharedHandle<Randomizer> fixedNumberRandomizer; @@ -59,6 +60,7 @@ public: void testGetMissingUnusedLength(); void testSetBitRange(); void testCountFilteredBlock(); + void testCountMissingBlock(); }; @@ -741,4 +743,14 @@ void BitfieldManTest::testCountFilteredBlock() CPPUNIT_ASSERT_EQUAL((size_t)0, bt.countFilteredBlock()); } +void BitfieldManTest::testCountMissingBlock() +{ + BitfieldMan bt(1024, 1024*10); + CPPUNIT_ASSERT_EQUAL((size_t)10, bt.countMissingBlock()); + bt.setBit(1); + CPPUNIT_ASSERT_EQUAL((size_t)9, bt.countMissingBlock()); + bt.setAllBit(); + CPPUNIT_ASSERT_EQUAL((size_t)0, bt.countMissingBlock()); +} + } // namespace aria2 diff --git a/test/DefaultBtRequestFactoryTest.cc b/test/DefaultBtRequestFactoryTest.cc index 3fae76c1..299b6f7d 100644 --- a/test/DefaultBtRequestFactoryTest.cc +++ b/test/DefaultBtRequestFactoryTest.cc @@ -123,9 +123,18 @@ public: CPPUNIT_TEST_SUITE_REGISTRATION(DefaultBtRequestFactoryTest); void DefaultBtRequestFactoryTest::testAddTargetPiece() { - SharedHandle<Piece> piece(new Piece(0, 16*1024)); - btRequestFactory->addTargetPiece(piece); - CPPUNIT_ASSERT_EQUAL((size_t)1, btRequestFactory->countTargetPiece()); + { + SharedHandle<Piece> piece(new Piece(0, 16*1024*10)); + btRequestFactory->addTargetPiece(piece); + CPPUNIT_ASSERT_EQUAL((size_t)1, btRequestFactory->countTargetPiece()); + } + { + SharedHandle<Piece> piece(new Piece(1, 16*1024*9)); + piece->completeBlock(0); + btRequestFactory->addTargetPiece(piece); + CPPUNIT_ASSERT_EQUAL((size_t)2, btRequestFactory->countTargetPiece()); + } + CPPUNIT_ASSERT_EQUAL((size_t)18, btRequestFactory->countMissingBlock()); } void DefaultBtRequestFactoryTest::testRemoveCompletedPiece() { diff --git a/test/MockBtRequestFactory.h b/test/MockBtRequestFactory.h index 5a9fa7ee..fa0d2721 100644 --- a/test/MockBtRequestFactory.h +++ b/test/MockBtRequestFactory.h @@ -17,6 +17,8 @@ public: virtual size_t countTargetPiece() { return 0; } + virtual size_t countMissingBlock() { return 0; } + virtual void removeCompletedPiece() {} virtual void doChokedAction() {} |
