PeerConnectionTest.cc 986 B

12345678910111213141516171819202122232425262728293031323334353637
  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. PeerConnection con(1, std::shared_ptr<Peer>(), std::shared_ptr<SocketCore>());
  17. con.presetBuffer((unsigned char*)"foo", 3);
  18. CPPUNIT_ASSERT_EQUAL((size_t)MAX_BUFFER_CAPACITY, con.getBufferCapacity());
  19. CPPUNIT_ASSERT_EQUAL((size_t)3, con.getBufferLength());
  20. size_t newLength = 32*1024;
  21. con.reserveBuffer(newLength);
  22. CPPUNIT_ASSERT_EQUAL(newLength, con.getBufferCapacity());
  23. CPPUNIT_ASSERT_EQUAL((size_t)3, con.getBufferLength());
  24. CPPUNIT_ASSERT(memcmp("foo", con.getBuffer(), 3) == 0);
  25. }
  26. } // namespace aria2