GrowSegmentTest.cc 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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(std::shared_ptr<Piece>(new Piece()));
  20. segment.updateWrittenLength(32_k);
  21. CPPUNIT_ASSERT_EQUAL((int64_t)32_k, segment.getPositionToWrite());
  22. CPPUNIT_ASSERT(!segment.complete());
  23. CPPUNIT_ASSERT(segment.getPiece()->pieceComplete());
  24. }
  25. void GrowSegmentTest::testClear()
  26. {
  27. GrowSegment segment(std::shared_ptr<Piece>(new Piece()));
  28. segment.updateWrittenLength(32_k);
  29. CPPUNIT_ASSERT_EQUAL((int64_t)32_k, segment.getWrittenLength());
  30. segment.clear(nullptr);
  31. CPPUNIT_ASSERT_EQUAL((int64_t)0, segment.getWrittenLength());
  32. }
  33. } // namespace aria2