diff options
Diffstat (limited to 'src/unit')
| -rw-r--r-- | src/unit/archive.unit | 89 | ||||
| -rw-r--r-- | src/unit/file.unit | 2 | ||||
| -rw-r--r-- | src/unit/fstring.unit | 21 | ||||
| -rw-r--r-- | src/unit/list.unit | 80 |
4 files changed, 179 insertions, 13 deletions
diff --git a/src/unit/archive.unit b/src/unit/archive.unit index ecc589b..266784f 100644 --- a/src/unit/archive.unit +++ b/src/unit/archive.unit | |||
| @@ -7,14 +7,18 @@ | |||
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | #include "bu/membuf.h" | 9 | #include "bu/membuf.h" |
| 10 | #include "bu/array.h" | ||
| 11 | #include "bu/archive.h" | ||
| 12 | |||
| 13 | using namespace Bu; | ||
| 10 | 14 | ||
| 11 | {=Init} | 15 | {=Init} |
| 12 | 16 | ||
| 13 | {%testPrimitives} | 17 | {%testPrimitives} |
| 14 | { | 18 | { |
| 15 | Bu::MemBuf mb; | 19 | MemBuf mb; |
| 16 | { | 20 | { |
| 17 | Bu::Archive ar( mb, Bu::Archive::save ); | 21 | Archive ar( mb, Archive::save ); |
| 18 | ar << (int8_t)1; | 22 | ar << (int8_t)1; |
| 19 | ar << (uint8_t)2; | 23 | ar << (uint8_t)2; |
| 20 | ar << (int16_t)3; | 24 | ar << (int16_t)3; |
| @@ -37,7 +41,7 @@ | |||
| 37 | } | 41 | } |
| 38 | mb.setPos( 0 ); | 42 | mb.setPos( 0 ); |
| 39 | { | 43 | { |
| 40 | Bu::Archive ar( mb, Bu::Archive::load ); | 44 | Archive ar( mb, Archive::load ); |
| 41 | int8_t p1; | 45 | int8_t p1; |
| 42 | uint8_t p2; | 46 | uint8_t p2; |
| 43 | int16_t p3; | 47 | int16_t p3; |
| @@ -96,13 +100,13 @@ | |||
| 96 | } | 100 | } |
| 97 | } | 101 | } |
| 98 | 102 | ||
| 99 | {%testContainers} | 103 | {%testContainers1} |
| 100 | { | 104 | { |
| 101 | Bu::MemBuf mb; | 105 | MemBuf mb; |
| 102 | { | 106 | { |
| 103 | Bu::Archive ar( mb, Bu::Archive::save ); | 107 | Archive ar( mb, Archive::save ); |
| 104 | Bu::FString sStr("This is a test string."); | 108 | FString sStr("This is a test string."); |
| 105 | Bu::List<int> lList; | 109 | List<int> lList; |
| 106 | lList.append( 10 ); | 110 | lList.append( 10 ); |
| 107 | lList.append( 20 ); | 111 | lList.append( 20 ); |
| 108 | lList.append( 30 ); | 112 | lList.append( 30 ); |
| @@ -113,14 +117,47 @@ | |||
| 113 | } | 117 | } |
| 114 | mb.setPos( 0 ); | 118 | mb.setPos( 0 ); |
| 115 | { | 119 | { |
| 116 | Bu::Archive ar( mb, Bu::Archive::load ); | 120 | Archive ar( mb, Archive::load ); |
| 117 | Bu::FString sStr; | 121 | FString sStr; |
| 118 | Bu::List<int> lList; | 122 | List<int> lList; |
| 119 | ar >> sStr; | 123 | ar >> sStr; |
| 120 | ar >> lList; | 124 | ar >> lList; |
| 121 | unitTest( sStr == "This is a test string." ); | 125 | unitTest( sStr == "This is a test string." ); |
| 122 | unitTest( lList.getSize() == 4 ); | 126 | unitTest( lList.getSize() == 4 ); |
| 123 | Bu::List<int>::iterator i = lList.begin(); | 127 | List<int>::iterator i = lList.begin(); |
| 128 | unitTest( *i == 10 ); i++; | ||
| 129 | unitTest( *i == 20 ); i++; | ||
| 130 | unitTest( *i == 30 ); i++; | ||
| 131 | unitTest( *i == 40 ); | ||
| 132 | ar.close(); | ||
| 133 | } | ||
| 134 | } | ||
| 135 | |||
| 136 | {%testContainers2} | ||
| 137 | { | ||
| 138 | MemBuf mb; | ||
| 139 | { | ||
| 140 | Archive ar( mb, Archive::save ); | ||
| 141 | FString sStr("This is a test string."); | ||
| 142 | Array<int> lArray; | ||
| 143 | lArray.append( 10 ); | ||
| 144 | lArray.append( 20 ); | ||
| 145 | lArray.append( 30 ); | ||
| 146 | lArray.append( 40 ); | ||
| 147 | ar << sStr; | ||
| 148 | ar << lArray; | ||
| 149 | ar.close(); | ||
| 150 | } | ||
| 151 | mb.setPos( 0 ); | ||
| 152 | { | ||
| 153 | Archive ar( mb, Archive::load ); | ||
| 154 | FString sStr; | ||
| 155 | Array<int> lArray; | ||
| 156 | ar >> sStr; | ||
| 157 | ar >> lArray; | ||
| 158 | unitTest( sStr == "This is a test string." ); | ||
| 159 | unitTest( lArray.getSize() == 4 ); | ||
| 160 | Array<int>::iterator i = lArray.begin(); | ||
| 124 | unitTest( *i == 10 ); i++; | 161 | unitTest( *i == 10 ); i++; |
| 125 | unitTest( *i == 20 ); i++; | 162 | unitTest( *i == 20 ); i++; |
| 126 | unitTest( *i == 30 ); i++; | 163 | unitTest( *i == 30 ); i++; |
| @@ -128,3 +165,31 @@ | |||
| 128 | ar.close(); | 165 | ar.close(); |
| 129 | } | 166 | } |
| 130 | } | 167 | } |
| 168 | |||
| 169 | {%testContainers3} | ||
| 170 | { | ||
| 171 | MemBuf mb; | ||
| 172 | { | ||
| 173 | Archive ar( mb, Archive::save ); | ||
| 174 | Array<FString> lArray; | ||
| 175 | lArray.append( "10" ); | ||
| 176 | lArray.append( "20" ); | ||
| 177 | lArray.append( "30" ); | ||
| 178 | lArray.append( "40" ); | ||
| 179 | ar << lArray; | ||
| 180 | ar.close(); | ||
| 181 | } | ||
| 182 | mb.setPos( 0 ); | ||
| 183 | { | ||
| 184 | Archive ar( mb, Archive::load ); | ||
| 185 | Array<FString> lArray; | ||
| 186 | ar >> lArray; | ||
| 187 | unitTest( lArray.getSize() == 4 ); | ||
| 188 | Array<FString>::iterator i = lArray.begin(); | ||
| 189 | unitTest( *i == "10" ); i++; | ||
| 190 | unitTest( *i == "20" ); i++; | ||
| 191 | unitTest( *i == "30" ); i++; | ||
| 192 | unitTest( *i == "40" ); | ||
| 193 | ar.close(); | ||
| 194 | } | ||
| 195 | } | ||
diff --git a/src/unit/file.unit b/src/unit/file.unit index 911d8f6..e0d2005 100644 --- a/src/unit/file.unit +++ b/src/unit/file.unit | |||
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | {%writeFull} | 17 | {%writeFull} |
| 18 | { | 18 | { |
| 19 | Bu::File sf("testfile1", Bu::File::Write ); | 19 | Bu::File sf("testfile1", Bu::File::WriteNew ); |
| 20 | for( int c = 0; c < 256; c++ ) | 20 | for( int c = 0; c < 256; c++ ) |
| 21 | { | 21 | { |
| 22 | unsigned char ch = (unsigned char)c; | 22 | unsigned char ch = (unsigned char)c; |
diff --git a/src/unit/fstring.unit b/src/unit/fstring.unit index 3e4456d..d218a07 100644 --- a/src/unit/fstring.unit +++ b/src/unit/fstring.unit | |||
| @@ -312,3 +312,24 @@ | |||
| 312 | bob = ""; | 312 | bob = ""; |
| 313 | unitTest( bob.isSet() == false ); | 313 | unitTest( bob.isSet() == false ); |
| 314 | } | 314 | } |
| 315 | |||
| 316 | {%swap1} | ||
| 317 | { | ||
| 318 | Bu::FString a, b; | ||
| 319 | a = "Goodbye"; | ||
| 320 | b = "Hello"; | ||
| 321 | Bu::swap( a, b ); | ||
| 322 | unitTest( a == "Hello" ); | ||
| 323 | unitTest( b == "Goodbye" ); | ||
| 324 | } | ||
| 325 | |||
| 326 | {%swap2} | ||
| 327 | { | ||
| 328 | Bu::FString a, b; | ||
| 329 | a = "Goodbye"; | ||
| 330 | b = "Hello"; | ||
| 331 | std::swap( a, b ); | ||
| 332 | unitTest( a == "Hello" ); | ||
| 333 | unitTest( b == "Goodbye" ); | ||
| 334 | } | ||
| 335 | |||
diff --git a/src/unit/list.unit b/src/unit/list.unit index 9da0342..9f66f54 100644 --- a/src/unit/list.unit +++ b/src/unit/list.unit | |||
| @@ -66,3 +66,83 @@ typedef Bu::List<int> IntList; | |||
| 66 | } | 66 | } |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | {%sort1} | ||
| 70 | { | ||
| 71 | IntList lst; | ||
| 72 | |||
| 73 | lst.insertSorted( 5 ); | ||
| 74 | lst.insertSorted( 1 ); | ||
| 75 | lst.insertSorted( 10 ); | ||
| 76 | lst.insertSorted( 3 ); | ||
| 77 | |||
| 78 | unitTest( lst == IntList(1).append(3).append(5).append(10) ); | ||
| 79 | } | ||
| 80 | |||
| 81 | {%sort2} | ||
| 82 | { | ||
| 83 | IntList lst; | ||
| 84 | |||
| 85 | lst.insertSorted<Bu::__basicGTCmp<int> >( 5 ); | ||
| 86 | lst.insertSorted<Bu::__basicGTCmp<int> >( 1 ); | ||
| 87 | lst.insertSorted<Bu::__basicGTCmp<int> >( 10 ); | ||
| 88 | lst.insertSorted<Bu::__basicGTCmp<int> >( 3 ); | ||
| 89 | |||
| 90 | unitTest( lst == IntList(10).append(5).append(3).append(1) ); | ||
| 91 | } | ||
| 92 | |||
| 93 | {%sort3} | ||
| 94 | { | ||
| 95 | IntList lst; | ||
| 96 | Bu::__basicGTCmp<int> cmp; | ||
| 97 | |||
| 98 | lst.insertSorted( cmp, 5 ); | ||
| 99 | lst.insertSorted( cmp, 1 ); | ||
| 100 | lst.insertSorted( cmp, 10 ); | ||
| 101 | lst.insertSorted( cmp, 3 ); | ||
| 102 | |||
| 103 | unitTest( lst == IntList(10).append(5).append(3).append(1) ); | ||
| 104 | } | ||
| 105 | |||
| 106 | {%sort4} | ||
| 107 | { | ||
| 108 | IntList lst; | ||
| 109 | |||
| 110 | lst.append( 5 ); | ||
| 111 | lst.append( 1 ); | ||
| 112 | lst.append( 10 ); | ||
| 113 | lst.append( 3 ); | ||
| 114 | |||
| 115 | lst.sort(); | ||
| 116 | |||
| 117 | unitTest( lst == IntList(1).append(3).append(5).append(10) ); | ||
| 118 | } | ||
| 119 | |||
| 120 | {%sort5} | ||
| 121 | { | ||
| 122 | IntList lst; | ||
| 123 | |||
| 124 | lst.append( 5 ); | ||
| 125 | lst.append( 1 ); | ||
| 126 | lst.append( 10 ); | ||
| 127 | lst.append( 3 ); | ||
| 128 | |||
| 129 | lst.sort<Bu::__basicGTCmp<int> >(); | ||
| 130 | |||
| 131 | unitTest( lst == IntList(10).append(5).append(3).append(1) ); | ||
| 132 | } | ||
| 133 | |||
| 134 | {%sort6} | ||
| 135 | { | ||
| 136 | IntList lst; | ||
| 137 | |||
| 138 | lst.append( 5 ); | ||
| 139 | lst.append( 1 ); | ||
| 140 | lst.append( 10 ); | ||
| 141 | lst.append( 3 ); | ||
| 142 | |||
| 143 | Bu::__basicGTCmp<int> x; | ||
| 144 | lst.sort( x ); | ||
| 145 | |||
| 146 | unitTest( lst == IntList(10).append(5).append(3).append(1) ); | ||
| 147 | } | ||
| 148 | |||
