GrowSegmentTest.cc 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "GrowSegment.h"
  2. #include "Piece.h"
  3. #include <cppunit/extensions/HelperMacros.h>
  4. namespace aria2 {
  5. class GrowSegmentTest : public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(GrowSegmentTest);
  7. CPPUNIT_TEST(testUpdateWrittenLength);
  8. CPPUNIT_TEST(testClear);
  9. CPPUNIT_TEST_SUITE_END();
  10. private:
  11. public:
  12. void setUp() {}
  13. void testUpdateWrittenLength();
  14. void testClear();
  15. };
  16. CPPUNIT_TEST_SUITE_REGISTRATION( GrowSegmentTest );
  17. void GrowSegmentTest::testUpdateWrittenLength()
  18. {
  19. GrowSegment segment(SharedHandle<Piece>(new Piece()));
  20. segment.updateWrittenLength(32*1024);
  21. CPPUNIT_ASSERT_EQUAL((int64_t)32*1024, segment.getPositionToWrite());
  22. CPPUNIT_ASSERT(!segment.complete());
  23. CPPUNIT_ASSERT(segment.getPiece()->pieceComplete());
  24. }
  25. void GrowSegmentTest::testClear()
  26. {
  27. GrowSegment segment(SharedHandle<Piece>(new Piece()));
  28. segment.updateWrittenLength(32*1024);
  29. CPPUNIT_ASSERT_EQUAL(32*1024, segment.getWrittenLength());
  30. segment.clear();
  31. CPPUNIT_ASSERT_EQUAL(0, segment.getWrittenLength());
  32. }
  33. } // namespace aria2