GrowSegmentTest.cc 1018 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "GrowSegment.h"
  2. #include "Piece.h"
  3. #include <cppunit/extensions/HelperMacros.h>
  4. using namespace std;
  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(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(new Piece());
  28. segment.updateWrittenLength(32*1024);
  29. CPPUNIT_ASSERT_EQUAL((int32_t)32*1024, segment.getWrittenLength());
  30. segment.clear();
  31. CPPUNIT_ASSERT_EQUAL((int32_t)0, segment.getWrittenLength());
  32. }