diff options
-rw-r--r-- | test/common/memorywritestream.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/common/memorywritestream.h b/test/common/memorywritestream.h new file mode 100644 index 0000000000..43a137a9f3 --- /dev/null +++ b/test/common/memorywritestream.h @@ -0,0 +1,31 @@ +#include <cxxtest/TestSuite.h> + +#include "common/memstream.h" + +class MemoryWriteStreamTestSuite : public CxxTest::TestSuite { + public: + void test_err() { + byte temp = 0; + + Common::MemoryWriteStream stream(&temp, 0); + TS_ASSERT(!stream.err()); + + // Make sure the error indicator gets set + stream.write(&temp, 1); + TS_ASSERT(stream.err()); + + // Test whether the error indicator can be cleared + stream.clearErr(); + TS_ASSERT(!stream.err()); + } + + void test_write() { + byte buffer[7] = {}; + Common::MemoryWriteStream stream(buffer, sizeof(buffer)); + + const byte data[7] = { 7, 4, 3, 0, 10, 12, 1 }; + stream.write(data, sizeof(data)); + TS_ASSERT(memcmp(buffer, data, sizeof(data)) == 0); + TS_ASSERT(!stream.err()); + } +}; |