diff options
Diffstat (limited to 'src/unit')
| -rw-r--r-- | src/unit/archive.cpp | 50 | 
1 files changed, 42 insertions, 8 deletions
| diff --git a/src/unit/archive.cpp b/src/unit/archive.cpp index 531ece1..8e71f4b 100644 --- a/src/unit/archive.cpp +++ b/src/unit/archive.cpp | |||
| @@ -15,6 +15,7 @@ public: | |||
| 15 | { | 15 | { | 
| 16 | setName("Archive"); | 16 | setName("Archive"); | 
| 17 | addTest( Unit::testPrimitives ); | 17 | addTest( Unit::testPrimitives ); | 
| 18 | addTest( Unit::testContainers ); | ||
| 18 | } | 19 | } | 
| 19 | 20 | ||
| 20 | virtual ~Unit() | 21 | virtual ~Unit() | 
| @@ -42,8 +43,8 @@ public: | |||
| 42 | ar << (unsigned int)14; | 43 | ar << (unsigned int)14; | 
| 43 | ar << (long)15; | 44 | ar << (long)15; | 
| 44 | ar << (unsigned long)16; | 45 | ar << (unsigned long)16; | 
| 45 | //ar << (long long)17; | 46 | ar << (long long)17; | 
| 46 | //ar << (unsigned long long)18; | 47 | ar << (unsigned long long)18; | 
| 47 | ar.close(); | 48 | ar.close(); | 
| 48 | } | 49 | } | 
| 49 | mb.setPos( 0 ); | 50 | mb.setPos( 0 ); | 
| @@ -65,8 +66,8 @@ public: | |||
| 65 | unsigned int p14; | 66 | unsigned int p14; | 
| 66 | long p15; | 67 | long p15; | 
| 67 | unsigned long p16; | 68 | unsigned long p16; | 
| 68 | //long long p17; | 69 | long long p17; | 
| 69 | //unsigned long long p18; | 70 | unsigned long long p18; | 
| 70 | ar >> p1; | 71 | ar >> p1; | 
| 71 | ar >> p2; | 72 | ar >> p2; | 
| 72 | ar >> p3; | 73 | ar >> p3; | 
| @@ -83,8 +84,8 @@ public: | |||
| 83 | ar >> p14; | 84 | ar >> p14; | 
| 84 | ar >> p15; | 85 | ar >> p15; | 
| 85 | ar >> p16; | 86 | ar >> p16; | 
| 86 | //ar >> p17; | 87 | ar >> p17; | 
| 87 | //ar >> p18; | 88 | ar >> p18; | 
| 88 | unitTest( p1 == 1 ); | 89 | unitTest( p1 == 1 ); | 
| 89 | unitTest( p2 == 2 ); | 90 | unitTest( p2 == 2 ); | 
| 90 | unitTest( p3 == 3 ); | 91 | unitTest( p3 == 3 ); | 
| @@ -101,8 +102,41 @@ public: | |||
| 101 | unitTest( p14 == 14 ); | 102 | unitTest( p14 == 14 ); | 
| 102 | unitTest( p15 == 15 ); | 103 | unitTest( p15 == 15 ); | 
| 103 | unitTest( p16 == 16 ); | 104 | unitTest( p16 == 16 ); | 
| 104 | //unitTest( p17 == 17 ); | 105 | unitTest( p17 == 17 ); | 
| 105 | //unitTest( p18 == 18 ); | 106 | unitTest( p18 == 18 ); | 
| 107 | ar.close(); | ||
| 108 | } | ||
| 109 | } | ||
| 110 | |||
| 111 | void testContainers() | ||
| 112 | { | ||
| 113 | Bu::MemBuf mb; | ||
| 114 | { | ||
| 115 | Bu::Archive ar( mb, Bu::Archive::save ); | ||
| 116 | Bu::FString sStr("This is a test string."); | ||
| 117 | Bu::List<int> lList; | ||
| 118 | lList.append( 10 ); | ||
| 119 | lList.append( 20 ); | ||
| 120 | lList.append( 30 ); | ||
| 121 | lList.append( 40 ); | ||
| 122 | ar << sStr; | ||
| 123 | ar << lList; | ||
| 124 | ar.close(); | ||
| 125 | } | ||
| 126 | mb.setPos( 0 ); | ||
| 127 | { | ||
| 128 | Bu::Archive ar( mb, Bu::Archive::load ); | ||
| 129 | Bu::FString sStr; | ||
| 130 | Bu::List<int> lList; | ||
| 131 | ar >> sStr; | ||
| 132 | ar >> lList; | ||
| 133 | unitTest( sStr == "This is a test string." ); | ||
| 134 | unitTest( lList.getSize() == 4 ); | ||
| 135 | Bu::List<int>::iterator i = lList.begin(); | ||
| 136 | unitTest( *i == 10 ); i++; | ||
| 137 | unitTest( *i == 20 ); i++; | ||
| 138 | unitTest( *i == 30 ); i++; | ||
| 139 | unitTest( *i == 40 ); | ||
| 106 | ar.close(); | 140 | ar.close(); | 
| 107 | } | 141 | } | 
| 108 | } | 142 | } | 
