From 7e25a863325dc3e9762397e700030969e093b087 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Thu, 20 Jan 2011 07:48:57 +0000 Subject: Heh, forgot to rename the two fstring tests. --- src/unit/fstring.unit | 351 -------------------------------------------------- src/unit/string.unit | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 351 insertions(+), 351 deletions(-) delete mode 100644 src/unit/fstring.unit create mode 100644 src/unit/string.unit (limited to 'src/unit') diff --git a/src/unit/fstring.unit b/src/unit/fstring.unit deleted file mode 100644 index f51e4de..0000000 --- a/src/unit/fstring.unit +++ /dev/null @@ -1,351 +0,0 @@ -// vim: syntax=cpp -/* - * Copyright (C) 2007-2011 Xagasoft, All rights reserved. - * - * This file is part of the libbu++ library and is released under the - * terms of the license contained in the file LICENSE. - */ - -#include "bu/string.h" - -#include - -suite String -{ - test compare1 - { - Bu::String b("Bob"); - unitTest( !(b == "Bobo") ); - unitTest( b == "Bob" ); - } - - test compare2 - { - Bu::String b("Bobo"); - unitTest( !(b == "Bob") ); - unitTest( b == "Bobo" ); - } - - test appendSingle - { - Bu::String b; - for( char l = 'a'; l < 'g'; l++ ) - b += l; - unitTest( b == "abcdef" ); - unitTest( strcmp( b.getStr(), "abcdef" ) == 0 ); - } - - test shared1 - { - Bu::String a("Hey there"); - Bu::String b( a ); - unitTest( a.getConstStr() == b.getConstStr() ); - b += " guy"; - unitTest( a.getConstStr() != b.getConstStr() ); - a = b; - unitTest( a.getConstStr() == b.getConstStr() ); - } - - test insert - { - Bu::String a("abcd"); - a.insert( 2, "-!-", 3 ); - unitTest( a == "ab-!-cd" ); - - a.insert( 0, "!!", 2 ); - unitTest( a == "!!ab-!-cd" ); - - a.insert( -10, "789", 3 ); - unitTest( a == "789!!ab-!-cd" ); - - a.insert( 12, "89", 2 ); - unitTest( a == "789!!ab-!-cd89" ); - - a.insert( 1203, "12", 2 ); - unitTest( a == "789!!ab-!-cd8912" ); - } - - test remove - { - Bu::String a("abHEYcd"); - a.remove( 2, 3 ); - unitTest( a == "abcd" ); - a.remove( 2, 5 ); - unitTest( a == "ab" ); - a += "cdefghijklmnop"; - a.remove( 5, 1 ); - unitTest( a == "abcdeghijklmnop" ); - } - - test add1 - { - Bu::String a("hi there"); - Bu::String b(", yeah!"); - Bu::String c = a + b; - - unitTest( c == "hi there, yeah!" ); - } - - test add2 - { - Bu::String a("hi there"); - Bu::String c = a + ", yeah!"; - - unitTest( c == "hi there, yeah!" ); - } - - test add3 - { - Bu::String a("hi there"); - Bu::String b(", yeah!"); - Bu::String c = a + ", Mr. Man" + b; - - unitTest( c == "hi there, Mr. Man, yeah!" ); - } - - test add4 - { - Bu::String b(", yeah!"); - Bu::String c = "hi there" + b; - - unitTest( c == "hi there, yeah!" ); - } - - test add5 - { - Bu::String b; - Bu::String c = "sup?"; - b += "hey, " + c; - - unitTest( b == "hey, sup?" ); - } - - test add6 - { - Bu::String a("Hello"); - char b[256] = {"Dude"}; - Bu::String c = a + "/" + b; - - unitTest( c == "Hello/Dude" ); - } - - test add7 - { - const Bu::String a("hello "); - Bu::String b(" how "); - unitTest( a == "hello " ); - unitTest( a + "dude" == "hello dude" ); - unitTest( a + "dude" + b + "are you?" == "hello dude how are you?" ); - } - - test subStr1 - { - Bu::String a("abcdefghijklmnop"); - Bu::String::iterator i = a.find('f'); - unitTest( a.getSubStr( i, Bu::String::iterator() ) == "fghijklmnop" ); - Bu::String::iterator j = i.find('l'); - unitTest( a.getSubStr( i, j ) == "fghijk" ); - } - - test compareSub1 - { - Bu::String a("just a string."); - unitTest( a.compareSub("a ", 5, 2) == true ); - unitTest( a.compareSub("string.aoeu", 7, 11 ) == false ); - unitTest( a.compareSub("string.aoeu", 7, 3 ) == true ); - } - - test compareSub2 - { - Bu::String a("just a string."); - unitTest( a.compareSub(Bu::String("a "), 5, 2) == true ); - unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 11 ) == false ); - unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 3 ) == true ); - } - - test iterator1 - { - Bu::String a("This is a test."); - Bu::String b; - for( Bu::String::iterator i = a.begin(); i; i++ ) - { - b += *i; - } - unitTest( a == b ); - } - - test iterator2 - { - Bu::String a("This is a test."); - Bu::String b("--This is a test."); - Bu::String::iterator ai = a.begin(); - Bu::String::iterator bi = b.begin(); - unitTest( ai.compare( bi ) == false ); - unitTest( bi.compare( ai ) == false ); - bi++; bi++; - unitTest( ai.compare( bi ) == true ); - unitTest( bi.compare( ai ) == true ); - } - - test iterator3 - { - Bu::String a("1234honour"); - Bu::String b("--1234ueje"); - Bu::String::iterator ai = a.begin(); - Bu::String::iterator bi = b.begin(); - unitTest( ai.compare( bi, 4 ) == false ); - unitTest( bi.compare( ai, 4 ) == false ); - bi++; bi++; - unitTest( ai.compare( bi, 4 ) == true ); - unitTest( bi.compare( ai, 4 ) == true ); - unitTest( ai.compare( bi, 5 ) == false ); - unitTest( bi.compare( ai, 5 ) == false ); - - } - - test iterator4 - { - Bu::String a("1234aoeu"); - Bu::String::iterator ai = a.begin(); - unitTest( ai.compare("1234") == false ); - unitTest( ai.compare("1234aoeu") == true ); - unitTest( ai.compare("1234aoeuee") == false ); - } - - test iterator5 - { - Bu::String a("1234aoeu"); - Bu::String::iterator ai = a.begin(); - unitTest( ai.compare("1234", 4) == true ); - unitTest( ai.compare("1234aoeu", 8) == true ); - unitTest( ai.compare("1234aoeuee", 10) == false ); - } - - test iterator6 - { - Bu::String a("just ->this part"); - Bu::String b; - Bu::String::iterator s = a.begin(); - for(; s; s++ ) - { - if( *s == '>' ) - { - s++; - b.set( s ); - break; - } - } - unitTest( b == "this part" ); - - b.append( s ); - - Bu::String c; - c.set( b.begin() ); - - // This is here because the comparison operator used to cause flattening. - unitTest( b == "this partthis part" ); - unitTest( c == b ); - } - - test iterator7 - { - Bu::String a("just [this] part"); - Bu::String b; - Bu::String::iterator s = a.begin(); - for(; s; s++ ) - { - if( *s == '[' ) - { - s++; - break; - } - } - Bu::String::iterator e = s; - for(; e; e++ ) - { - if( *e == ']' ) - { - b.set( s, e ); - break; - } - } - unitTest( b == "this" ); - - b.append( s, e ); - - for( Bu::String::iterator i = b.begin(); i;) - { - Bu::String::iterator k = i; - k++; - if( !k ) - { - b.append( b.begin(), i ); - break; - } - i = k; - } - Bu::String l; - l.set( b.begin() ); - unitTest( l == "thisthisthisthi" ); - for( Bu::String::iterator i = b.begin(); i;) - { - Bu::String::iterator k = i; - k++; - if( !k ) - { - b.append( b.begin(), i ); - break; - } - i = k; - } - l.set( b.begin() ); - unitTest( l == "thisthisthisthithisthisthisth" ); - } - - test isSet1 - { - Bu::String bob; - - unitTest( bob.isSet() == false ); - bob = "something"; - unitTest( bob.isSet() == true ); - bob = ""; - unitTest( bob.isSet() == false ); - } - - test swap1 - { - Bu::String a, b; - a = "Goodbye"; - b = "Hello"; - Bu::swap( a, b ); - unitTest( a == "Hello" ); - unitTest( b == "Goodbye" ); - } - - test swap2 - { - Bu::String a, b; - a = "Goodbye"; - b = "Hello"; - std::swap( a, b ); - unitTest( a == "Hello" ); - unitTest( b == "Goodbye" ); - } - - test replace1 - { - Bu::String a; - a = "This is a test."; - unitTest( a.replace("i", "ooo") == "Thooos ooos a test." ); - } - - test coreDerefBug1 - { - Bu::String a, b; - a = "bob"; - a.setSize( 0 ); - b = a; - b.getStr(); - } -} diff --git a/src/unit/string.unit b/src/unit/string.unit new file mode 100644 index 0000000..f51e4de --- /dev/null +++ b/src/unit/string.unit @@ -0,0 +1,351 @@ +// vim: syntax=cpp +/* + * Copyright (C) 2007-2011 Xagasoft, All rights reserved. + * + * This file is part of the libbu++ library and is released under the + * terms of the license contained in the file LICENSE. + */ + +#include "bu/string.h" + +#include + +suite String +{ + test compare1 + { + Bu::String b("Bob"); + unitTest( !(b == "Bobo") ); + unitTest( b == "Bob" ); + } + + test compare2 + { + Bu::String b("Bobo"); + unitTest( !(b == "Bob") ); + unitTest( b == "Bobo" ); + } + + test appendSingle + { + Bu::String b; + for( char l = 'a'; l < 'g'; l++ ) + b += l; + unitTest( b == "abcdef" ); + unitTest( strcmp( b.getStr(), "abcdef" ) == 0 ); + } + + test shared1 + { + Bu::String a("Hey there"); + Bu::String b( a ); + unitTest( a.getConstStr() == b.getConstStr() ); + b += " guy"; + unitTest( a.getConstStr() != b.getConstStr() ); + a = b; + unitTest( a.getConstStr() == b.getConstStr() ); + } + + test insert + { + Bu::String a("abcd"); + a.insert( 2, "-!-", 3 ); + unitTest( a == "ab-!-cd" ); + + a.insert( 0, "!!", 2 ); + unitTest( a == "!!ab-!-cd" ); + + a.insert( -10, "789", 3 ); + unitTest( a == "789!!ab-!-cd" ); + + a.insert( 12, "89", 2 ); + unitTest( a == "789!!ab-!-cd89" ); + + a.insert( 1203, "12", 2 ); + unitTest( a == "789!!ab-!-cd8912" ); + } + + test remove + { + Bu::String a("abHEYcd"); + a.remove( 2, 3 ); + unitTest( a == "abcd" ); + a.remove( 2, 5 ); + unitTest( a == "ab" ); + a += "cdefghijklmnop"; + a.remove( 5, 1 ); + unitTest( a == "abcdeghijklmnop" ); + } + + test add1 + { + Bu::String a("hi there"); + Bu::String b(", yeah!"); + Bu::String c = a + b; + + unitTest( c == "hi there, yeah!" ); + } + + test add2 + { + Bu::String a("hi there"); + Bu::String c = a + ", yeah!"; + + unitTest( c == "hi there, yeah!" ); + } + + test add3 + { + Bu::String a("hi there"); + Bu::String b(", yeah!"); + Bu::String c = a + ", Mr. Man" + b; + + unitTest( c == "hi there, Mr. Man, yeah!" ); + } + + test add4 + { + Bu::String b(", yeah!"); + Bu::String c = "hi there" + b; + + unitTest( c == "hi there, yeah!" ); + } + + test add5 + { + Bu::String b; + Bu::String c = "sup?"; + b += "hey, " + c; + + unitTest( b == "hey, sup?" ); + } + + test add6 + { + Bu::String a("Hello"); + char b[256] = {"Dude"}; + Bu::String c = a + "/" + b; + + unitTest( c == "Hello/Dude" ); + } + + test add7 + { + const Bu::String a("hello "); + Bu::String b(" how "); + unitTest( a == "hello " ); + unitTest( a + "dude" == "hello dude" ); + unitTest( a + "dude" + b + "are you?" == "hello dude how are you?" ); + } + + test subStr1 + { + Bu::String a("abcdefghijklmnop"); + Bu::String::iterator i = a.find('f'); + unitTest( a.getSubStr( i, Bu::String::iterator() ) == "fghijklmnop" ); + Bu::String::iterator j = i.find('l'); + unitTest( a.getSubStr( i, j ) == "fghijk" ); + } + + test compareSub1 + { + Bu::String a("just a string."); + unitTest( a.compareSub("a ", 5, 2) == true ); + unitTest( a.compareSub("string.aoeu", 7, 11 ) == false ); + unitTest( a.compareSub("string.aoeu", 7, 3 ) == true ); + } + + test compareSub2 + { + Bu::String a("just a string."); + unitTest( a.compareSub(Bu::String("a "), 5, 2) == true ); + unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 11 ) == false ); + unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 3 ) == true ); + } + + test iterator1 + { + Bu::String a("This is a test."); + Bu::String b; + for( Bu::String::iterator i = a.begin(); i; i++ ) + { + b += *i; + } + unitTest( a == b ); + } + + test iterator2 + { + Bu::String a("This is a test."); + Bu::String b("--This is a test."); + Bu::String::iterator ai = a.begin(); + Bu::String::iterator bi = b.begin(); + unitTest( ai.compare( bi ) == false ); + unitTest( bi.compare( ai ) == false ); + bi++; bi++; + unitTest( ai.compare( bi ) == true ); + unitTest( bi.compare( ai ) == true ); + } + + test iterator3 + { + Bu::String a("1234honour"); + Bu::String b("--1234ueje"); + Bu::String::iterator ai = a.begin(); + Bu::String::iterator bi = b.begin(); + unitTest( ai.compare( bi, 4 ) == false ); + unitTest( bi.compare( ai, 4 ) == false ); + bi++; bi++; + unitTest( ai.compare( bi, 4 ) == true ); + unitTest( bi.compare( ai, 4 ) == true ); + unitTest( ai.compare( bi, 5 ) == false ); + unitTest( bi.compare( ai, 5 ) == false ); + + } + + test iterator4 + { + Bu::String a("1234aoeu"); + Bu::String::iterator ai = a.begin(); + unitTest( ai.compare("1234") == false ); + unitTest( ai.compare("1234aoeu") == true ); + unitTest( ai.compare("1234aoeuee") == false ); + } + + test iterator5 + { + Bu::String a("1234aoeu"); + Bu::String::iterator ai = a.begin(); + unitTest( ai.compare("1234", 4) == true ); + unitTest( ai.compare("1234aoeu", 8) == true ); + unitTest( ai.compare("1234aoeuee", 10) == false ); + } + + test iterator6 + { + Bu::String a("just ->this part"); + Bu::String b; + Bu::String::iterator s = a.begin(); + for(; s; s++ ) + { + if( *s == '>' ) + { + s++; + b.set( s ); + break; + } + } + unitTest( b == "this part" ); + + b.append( s ); + + Bu::String c; + c.set( b.begin() ); + + // This is here because the comparison operator used to cause flattening. + unitTest( b == "this partthis part" ); + unitTest( c == b ); + } + + test iterator7 + { + Bu::String a("just [this] part"); + Bu::String b; + Bu::String::iterator s = a.begin(); + for(; s; s++ ) + { + if( *s == '[' ) + { + s++; + break; + } + } + Bu::String::iterator e = s; + for(; e; e++ ) + { + if( *e == ']' ) + { + b.set( s, e ); + break; + } + } + unitTest( b == "this" ); + + b.append( s, e ); + + for( Bu::String::iterator i = b.begin(); i;) + { + Bu::String::iterator k = i; + k++; + if( !k ) + { + b.append( b.begin(), i ); + break; + } + i = k; + } + Bu::String l; + l.set( b.begin() ); + unitTest( l == "thisthisthisthi" ); + for( Bu::String::iterator i = b.begin(); i;) + { + Bu::String::iterator k = i; + k++; + if( !k ) + { + b.append( b.begin(), i ); + break; + } + i = k; + } + l.set( b.begin() ); + unitTest( l == "thisthisthisthithisthisthisth" ); + } + + test isSet1 + { + Bu::String bob; + + unitTest( bob.isSet() == false ); + bob = "something"; + unitTest( bob.isSet() == true ); + bob = ""; + unitTest( bob.isSet() == false ); + } + + test swap1 + { + Bu::String a, b; + a = "Goodbye"; + b = "Hello"; + Bu::swap( a, b ); + unitTest( a == "Hello" ); + unitTest( b == "Goodbye" ); + } + + test swap2 + { + Bu::String a, b; + a = "Goodbye"; + b = "Hello"; + std::swap( a, b ); + unitTest( a == "Hello" ); + unitTest( b == "Goodbye" ); + } + + test replace1 + { + Bu::String a; + a = "This is a test."; + unitTest( a.replace("i", "ooo") == "Thooos ooos a test." ); + } + + test coreDerefBug1 + { + Bu::String a, b; + a = "bob"; + a.setSize( 0 ); + b = a; + b.getStr(); + } +} -- cgit v1.2.3