PieceTest.cc 935 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "Piece.h"
  2. #include <string>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. namespace aria2 {
  5. class PieceTest:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(PieceTest);
  7. CPPUNIT_TEST(testCompleteBlock);
  8. CPPUNIT_TEST(testGetCompletedLength);
  9. CPPUNIT_TEST_SUITE_END();
  10. private:
  11. public:
  12. void setUp() {}
  13. void testCompleteBlock();
  14. void testGetCompletedLength();
  15. };
  16. CPPUNIT_TEST_SUITE_REGISTRATION( PieceTest );
  17. void PieceTest::testCompleteBlock()
  18. {
  19. size_t blockLength = 32*1024;
  20. Piece p(0, blockLength*10, blockLength);
  21. p.completeBlock(5);
  22. CPPUNIT_ASSERT(p.hasBlock(5));
  23. }
  24. void PieceTest::testGetCompletedLength()
  25. {
  26. size_t blockLength = 16*1024;
  27. Piece p(0, blockLength*10+100, blockLength);
  28. p.completeBlock(1);
  29. p.completeBlock(2);
  30. p.completeBlock(9);
  31. p.completeBlock(10); // <-- 100 bytes
  32. CPPUNIT_ASSERT_EQUAL(blockLength*3+100, p.getCompletedLength());
  33. }
  34. } // namespace aria2