diff options
Diffstat (limited to 'src/unit/fstring.unit')
| -rw-r--r-- | src/unit/fstring.unit | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/src/unit/fstring.unit b/src/unit/fstring.unit index 3912de2..a0d62da 100644 --- a/src/unit/fstring.unit +++ b/src/unit/fstring.unit | |||
| @@ -138,3 +138,158 @@ | |||
| 138 | unitTest( a.getSubStr( -10 ) == "abcdefghijklmnop" ); | 138 | unitTest( a.getSubStr( -10 ) == "abcdefghijklmnop" ); |
| 139 | unitTest( a.getSubStr( -15, 4 ) == "abcd" ); | 139 | unitTest( a.getSubStr( -15, 4 ) == "abcd" ); |
| 140 | } | 140 | } |
| 141 | |||
| 142 | {%compareSub1} | ||
| 143 | { | ||
| 144 | Bu::FString a("just a string."); | ||
| 145 | unitTest( a.compareSub("a ", 5, 2) == true ); | ||
| 146 | unitTest( a.compareSub("string.aoeu", 7, 11 ) == false ); | ||
| 147 | unitTest( a.compareSub("string.aoeu", 7, 3 ) == true ); | ||
| 148 | } | ||
| 149 | |||
| 150 | {%compareSub2} | ||
| 151 | { | ||
| 152 | Bu::FString a("just a string."); | ||
| 153 | unitTest( a.compareSub(Bu::FString("a "), 5, 2) == true ); | ||
| 154 | unitTest( a.compareSub(Bu::FString("string.aoeu"), 7, 11 ) == false ); | ||
| 155 | unitTest( a.compareSub(Bu::FString("string.aoeu"), 7, 3 ) == true ); | ||
| 156 | } | ||
| 157 | |||
| 158 | {%iterator1} | ||
| 159 | { | ||
| 160 | Bu::FString a("This is a test."); | ||
| 161 | Bu::FString b; | ||
| 162 | for( Bu::FString::iterator i = a.begin(); i; i++ ) | ||
| 163 | { | ||
| 164 | b += *i; | ||
| 165 | } | ||
| 166 | unitTest( a == b ); | ||
| 167 | } | ||
| 168 | |||
| 169 | {%iterator2} | ||
| 170 | { | ||
| 171 | Bu::FString a("This is a test."); | ||
| 172 | Bu::FString b("--This is a test."); | ||
| 173 | Bu::FString::iterator ai = a.begin(); | ||
| 174 | Bu::FString::iterator bi = b.begin(); | ||
| 175 | unitTest( ai.compare( bi ) == false ); | ||
| 176 | unitTest( bi.compare( ai ) == false ); | ||
| 177 | bi++; bi++; | ||
| 178 | unitTest( ai.compare( bi ) == true ); | ||
| 179 | unitTest( bi.compare( ai ) == true ); | ||
| 180 | } | ||
| 181 | |||
| 182 | {%iterator3} | ||
| 183 | { | ||
| 184 | Bu::FString a("1234honour"); | ||
| 185 | Bu::FString b("--1234ueje"); | ||
| 186 | Bu::FString::iterator ai = a.begin(); | ||
| 187 | Bu::FString::iterator bi = b.begin(); | ||
| 188 | unitTest( ai.compare( bi, 4 ) == false ); | ||
| 189 | unitTest( bi.compare( ai, 4 ) == false ); | ||
| 190 | bi++; bi++; | ||
| 191 | unitTest( ai.compare( bi, 4 ) == true ); | ||
| 192 | unitTest( bi.compare( ai, 4 ) == true ); | ||
| 193 | unitTest( ai.compare( bi, 5 ) == false ); | ||
| 194 | unitTest( bi.compare( ai, 5 ) == false ); | ||
| 195 | |||
| 196 | } | ||
| 197 | |||
| 198 | {%iterator4} | ||
| 199 | { | ||
| 200 | Bu::FString a("1234aoeu"); | ||
| 201 | Bu::FString::iterator ai = a.begin(); | ||
| 202 | unitTest( ai.compare("1234") == false ); | ||
| 203 | unitTest( ai.compare("1234aoeu") == true ); | ||
| 204 | unitTest( ai.compare("1234aoeuee") == false ); | ||
| 205 | } | ||
| 206 | |||
| 207 | {%iterator5} | ||
| 208 | { | ||
| 209 | Bu::FString a("1234aoeu"); | ||
| 210 | Bu::FString::iterator ai = a.begin(); | ||
| 211 | unitTest( ai.compare("1234", 4) == true ); | ||
| 212 | unitTest( ai.compare("1234aoeu", 8) == true ); | ||
| 213 | unitTest( ai.compare("1234aoeuee", 10) == false ); | ||
| 214 | } | ||
| 215 | |||
| 216 | {%iterator6} | ||
| 217 | { | ||
| 218 | Bu::FString a("just ->this part"); | ||
| 219 | Bu::FString b; | ||
| 220 | Bu::FString::iterator s = a.begin(); | ||
| 221 | for(; s; s++ ) | ||
| 222 | { | ||
| 223 | if( *s == '>' ) | ||
| 224 | { | ||
| 225 | s++; | ||
| 226 | b.set( s ); | ||
| 227 | break; | ||
| 228 | } | ||
| 229 | } | ||
| 230 | unitTest( b == "this part" ); | ||
| 231 | |||
| 232 | b.append( s ); | ||
| 233 | |||
| 234 | Bu::FString c; | ||
| 235 | c.set( b.begin() ); | ||
| 236 | |||
| 237 | // This is here because the comparison operator used to cause flattening. | ||
| 238 | unitTest( b == "this partthis part" ); | ||
| 239 | unitTest( c == b ); | ||
| 240 | } | ||
| 241 | |||
| 242 | {%iterator7} | ||
| 243 | { | ||
| 244 | Bu::FString a("just [this] part"); | ||
| 245 | Bu::FString b; | ||
| 246 | Bu::FString::iterator s = a.begin(); | ||
| 247 | for(; s; s++ ) | ||
| 248 | { | ||
| 249 | if( *s == '[' ) | ||
| 250 | { | ||
| 251 | s++; | ||
| 252 | break; | ||
| 253 | } | ||
| 254 | } | ||
| 255 | Bu::FString::iterator e = s; | ||
| 256 | for(; e; e++ ) | ||
| 257 | { | ||
| 258 | if( *e == ']' ) | ||
| 259 | { | ||
| 260 | b.set( s, e ); | ||
| 261 | break; | ||
| 262 | } | ||
| 263 | } | ||
| 264 | unitTest( b == "this" ); | ||
| 265 | |||
| 266 | b.append( s, e ); | ||
| 267 | |||
| 268 | for( Bu::FString::iterator i = b.begin(); i;) | ||
| 269 | { | ||
| 270 | Bu::FString::iterator k = i; | ||
| 271 | k++; | ||
| 272 | if( !k ) | ||
| 273 | { | ||
| 274 | b.append( b.begin(), i ); | ||
| 275 | break; | ||
| 276 | } | ||
| 277 | i = k; | ||
| 278 | } | ||
| 279 | Bu::FString l; | ||
| 280 | l.set( b.begin() ); | ||
| 281 | unitTest( l == "thisthisthisthi" ); | ||
| 282 | for( Bu::FString::iterator i = b.begin(); i;) | ||
| 283 | { | ||
| 284 | Bu::FString::iterator k = i; | ||
| 285 | k++; | ||
| 286 | if( !k ) | ||
| 287 | { | ||
| 288 | b.append( b.begin(), i ); | ||
| 289 | break; | ||
| 290 | } | ||
| 291 | i = k; | ||
| 292 | } | ||
| 293 | l.set( b.begin() ); | ||
| 294 | unitTest( l == "thisthisthisthithisthisthisth" ); | ||
| 295 | } | ||
