From aaa4d104f7eb4094ec6bd69ef2d44f80edd61aa4 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 29 Jul 2008 17:42:19 +0000 Subject: Added two new classes, BufferedReadStream & BufferedSeekableReadStream, as proposed on scummvm-devel svn-id: r33419 --- test/common/bufferedreadstream.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test/common/bufferedreadstream.h (limited to 'test/common/bufferedreadstream.h') diff --git a/test/common/bufferedreadstream.h b/test/common/bufferedreadstream.h new file mode 100644 index 0000000000..7733949d9a --- /dev/null +++ b/test/common/bufferedreadstream.h @@ -0,0 +1,27 @@ +#include + +#include "common/stream.h" + +class BufferedReadStreamTestSuite : public CxxTest::TestSuite { + public: + void test_traverse(void) { + byte contents[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + Common::MemoryReadStream ms(contents, 10); + + // Use a buffer size of 4 -- note that 10 % 4 != 0, + // so we test what happens if the cache can't be completly + // refilled. + Common::BufferedReadStream srs(&ms, 4); + + int i; + byte b; + for (i = 0; i < 10; ++i) { + TS_ASSERT( !srs.eos() ); + + b = srs.readByte(); + TS_ASSERT_EQUALS( i, b ); + } + + TS_ASSERT( srs.eos() ); + } +}; -- cgit v1.2.3