| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- #include "PriorityPieceSelector.h"
 
- #include <cppunit/extensions/HelperMacros.h>
 
- #include "array_fun.h"
 
- #include "BitfieldMan.h"
 
- #include "MockPieceSelector.h"
 
- namespace aria2 {
 
- class PriorityPieceSelectorTest:public CppUnit::TestFixture {
 
-   CPPUNIT_TEST_SUITE(PriorityPieceSelectorTest);
 
-   CPPUNIT_TEST(testSelect);
 
-   CPPUNIT_TEST_SUITE_END();
 
- public:
 
-   void testSelect();
 
- };
 
- CPPUNIT_TEST_SUITE_REGISTRATION(PriorityPieceSelectorTest);
 
- void PriorityPieceSelectorTest::testSelect()
 
- {
 
-   size_t pieceLength = 1024;
 
-   size_t A[] = { 1,200};
 
-   BitfieldMan bf(pieceLength, pieceLength*256);
 
-   for(size_t i = 0; i < A2_ARRAY_LEN(A); ++i) {
 
-     bf.setBit(A[i]);
 
-   }
 
-   PriorityPieceSelector selector
 
-     (SharedHandle<PieceSelector>(new MockPieceSelector()));
 
-   selector.setPriorityPiece(vbegin(A), vend(A));
 
-   size_t index;
 
-   CPPUNIT_ASSERT(selector.select(index, bf.getBitfield(), bf.countBlock()));
 
-   CPPUNIT_ASSERT_EQUAL((size_t)1, index);
 
-   bf.unsetBit(1);
 
-   CPPUNIT_ASSERT(selector.select(index, bf.getBitfield(), bf.countBlock()));
 
-   CPPUNIT_ASSERT_EQUAL((size_t)200, index);
 
-   bf.unsetBit(200);
 
-   CPPUNIT_ASSERT(!selector.select(index, bf.getBitfield(), bf.countBlock()));
 
- }
 
- } // namespace aria2
 
 
  |