PeerConnectionTest.cc 997 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "PeerConnection.h"
  2. #include <cstring>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. #include "Peer.h"
  5. #include "SocketCore.h"
  6. namespace aria2 {
  7. class PeerConnectionTest : public CppUnit::TestFixture {
  8. CPPUNIT_TEST_SUITE(PeerConnectionTest);
  9. CPPUNIT_TEST(testReserveBuffer);
  10. CPPUNIT_TEST_SUITE_END();
  11. public:
  12. void testReserveBuffer();
  13. };
  14. CPPUNIT_TEST_SUITE_REGISTRATION(PeerConnectionTest);
  15. void PeerConnectionTest::testReserveBuffer()
  16. {
  17. PeerConnection con(1, std::shared_ptr<Peer>(), std::shared_ptr<SocketCore>());
  18. con.presetBuffer((unsigned char*)"foo", 3);
  19. CPPUNIT_ASSERT_EQUAL((size_t)MAX_BUFFER_CAPACITY, con.getBufferCapacity());
  20. CPPUNIT_ASSERT_EQUAL((size_t)3, con.getBufferLength());
  21. constexpr size_t newLength = 128_k;
  22. con.reserveBuffer(newLength);
  23. CPPUNIT_ASSERT_EQUAL(newLength, con.getBufferCapacity());
  24. CPPUNIT_ASSERT_EQUAL((size_t)3, con.getBufferLength());
  25. CPPUNIT_ASSERT(memcmp("foo", con.getBuffer(), 3) == 0);
  26. }
  27. } // namespace aria2