diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2007-06-27 15:42:50 +0000 | 
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2007-06-27 15:42:50 +0000 | 
| commit | 5ec9a131e12d021c42b46b601f5e79502485bebb (patch) | |
| tree | 31d63d293a6c5bc6ea1d677474380ea48976add4 /src/unit/membuf.cpp | |
| parent | 01ecf54b07e75c17ca5f7039084daeefaea9a1c7 (diff) | |
| download | libbu++-5ec9a131e12d021c42b46b601f5e79502485bebb.tar.gz libbu++-5ec9a131e12d021c42b46b601f5e79502485bebb.tar.bz2 libbu++-5ec9a131e12d021c42b46b601f5e79502485bebb.tar.xz libbu++-5ec9a131e12d021c42b46b601f5e79502485bebb.zip  | |
The MemBuf works just fine, although it still can't over-write data in the
buffer.
Diffstat (limited to 'src/unit/membuf.cpp')
| -rw-r--r-- | src/unit/membuf.cpp | 37 | 
1 files changed, 37 insertions, 0 deletions
diff --git a/src/unit/membuf.cpp b/src/unit/membuf.cpp new file mode 100644 index 0000000..65ba82a --- /dev/null +++ b/src/unit/membuf.cpp  | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | #include "bu/unitsuite.h" | ||
| 2 | #include "bu/membuf.h" | ||
| 3 | |||
| 4 | class Unit : public Bu::UnitSuite | ||
| 5 | { | ||
| 6 | public: | ||
| 7 | Unit() | ||
| 8 | { | ||
| 9 | setName("MemBuf"); | ||
| 10 | addTest( Unit::testWriteRead01 ); | ||
| 11 | } | ||
| 12 | |||
| 13 | virtual ~Unit() | ||
| 14 | { | ||
| 15 | } | ||
| 16 | |||
| 17 | void testWriteRead01() | ||
| 18 | { | ||
| 19 | Bu::MemBuf mb; | ||
| 20 | unitTest( mb.write("ab", 2 ) == 2 ); | ||
| 21 | unitTest( mb.write("cde", 3 ) == 3 ); | ||
| 22 | unitTest( mb.write("FG", 2 ) == 2 ); | ||
| 23 | |||
| 24 | mb.setPos( 0 ); | ||
| 25 | |||
| 26 | char buf[8]; | ||
| 27 | buf[7] = '\0'; | ||
| 28 | unitTest( mb.read( buf, 7 ) == 7 ); | ||
| 29 | unitTest( !strncmp( buf, "abcdeFG", 7 ) ); | ||
| 30 | unitTest( mb.read( buf, 7 ) == 0 ); | ||
| 31 | mb.seek( -3 ); | ||
| 32 | unitTest( mb.read( buf, 7 ) == 3 ); | ||
| 33 | unitTest( !strncmp( buf, "eFG", 3 ) ); | ||
| 34 | } | ||
| 35 | }; | ||
| 36 | |||
| 37 | int main( int argc, char *argv[] ){ return Unit().run( argc, argv ); } | ||
