ByteArrayDiskWriterTest.cc 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "ByteArrayDiskWriter.h"
  2. #include <string>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. using namespace std;
  5. class ByteArrayDiskWriterTest:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(ByteArrayDiskWriterTest);
  7. CPPUNIT_TEST(testWriteAndRead);
  8. CPPUNIT_TEST(testWriteAndRead2);
  9. CPPUNIT_TEST_SUITE_END();
  10. private:
  11. public:
  12. void setUp() {
  13. }
  14. void testWriteAndRead();
  15. void testWriteAndRead2();
  16. };
  17. CPPUNIT_TEST_SUITE_REGISTRATION( ByteArrayDiskWriterTest );
  18. void ByteArrayDiskWriterTest::testWriteAndRead() {
  19. ByteArrayDiskWriter bw;
  20. string msg1 = "Hello world!";
  21. bw.writeData(msg1.c_str(), msg1.size(), 0);
  22. char buf[100];
  23. int32_t c = bw.readData(buf, sizeof(buf), 0);
  24. buf[c] = '\0';
  25. CPPUNIT_ASSERT_EQUAL(msg1, string(buf));
  26. // second call
  27. memset(buf, '\0', sizeof(buf));
  28. c = bw.readData(buf, sizeof(buf), 0);
  29. buf[c] = '\0';
  30. CPPUNIT_ASSERT_EQUAL(msg1, string(buf));
  31. }
  32. void ByteArrayDiskWriterTest::testWriteAndRead2() {
  33. ByteArrayDiskWriter bw;
  34. string msg1 = "Hello world!";
  35. bw.writeData(msg1.c_str(), msg1.size(), 16);
  36. char buf[100];
  37. int32_t c = bw.readData(buf, sizeof(buf), 16);
  38. buf[c] = '\0';
  39. CPPUNIT_ASSERT_EQUAL(msg1, string(buf));
  40. // second call
  41. memset(buf, '\0', sizeof(buf));
  42. c = bw.readData(buf, sizeof(buf), 16);
  43. buf[c] = '\0';
  44. CPPUNIT_ASSERT_EQUAL(msg1, string(buf));
  45. }