More tests for BString
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1352 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
#include "StringAppendTest.h"
|
||||
#include "cppunit/TestCaller.h"
|
||||
#include <String.h>
|
||||
|
||||
StringAppendTest::StringAppendTest(std::string name) :
|
||||
BTestCase(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
StringAppendTest::~StringAppendTest()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
StringAppendTest::PerformTest(void)
|
||||
{
|
||||
BString *str1, *str2;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("BASE");
|
||||
str2 = new BString("APPENDED");
|
||||
*str1 += *str2;
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BASEAPPENDED") == 0);
|
||||
delete str1;
|
||||
delete str2;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("Base");
|
||||
*str1 += "APPENDED";
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BaseAPPENDED") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString;
|
||||
*str1 += "APPENDEDTONOTHING";
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "APPENDEDTONOTHING") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
char *tmp = NULL;
|
||||
str1 = new BString("Base");
|
||||
*str1 += tmp;
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "Base") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("Base");
|
||||
*str1 += 'C';
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BaseC") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("BASE");
|
||||
str2 = new BString("APPENDED");
|
||||
str1->Append(*str2);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BASEAPPENDED") == 0);
|
||||
delete str1;
|
||||
delete str2;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("Base");
|
||||
str1->Append("APPENDED");
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BaseAPPENDED") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString;
|
||||
str1->Append("APPENDEDTONOTHING");
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "APPENDEDTONOTHING") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("Base");
|
||||
str1->Append(tmp);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "Base") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("BASE");
|
||||
str2 = new BString("APPENDED");
|
||||
str1->Append(*str2, 2);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BASEAP") == 0);
|
||||
delete str1;
|
||||
delete str2;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("Base");
|
||||
str1->Append("APPENDED", 40);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BaseAPPENDED") == 0);
|
||||
CPPUNIT_ASSERT(str1->Length() == strlen("BaseAPPENDED"));
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("BLABLA");
|
||||
str1->Append(tmp, 2);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BLABLA") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("Base");
|
||||
str1->Append('C', 5);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "BaseCCCCC") == 0);
|
||||
delete str1;
|
||||
}
|
||||
|
||||
|
||||
CppUnit::Test *StringAppendTest::suite(void)
|
||||
{
|
||||
typedef CppUnit::TestCaller<StringAppendTest>
|
||||
StringAppendTestCaller;
|
||||
|
||||
return(new StringAppendTestCaller("BString::Append Test", &StringAppendTest::PerformTest));
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef StringAppendTest_H
|
||||
#define StringAppendTest_H
|
||||
|
||||
#include "TestCase.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class StringAppendTest : public BTestCase
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static Test *suite(void);
|
||||
void PerformTest(void);
|
||||
StringAppendTest(std::string name = "");
|
||||
virtual ~StringAppendTest();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,103 @@
|
||||
#include "StringAssignTest.h"
|
||||
#include "cppunit/TestCaller.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
StringAssignTest::StringAssignTest(std::string name) :
|
||||
BTestCase(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
StringAssignTest::~StringAssignTest()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
StringAssignTest::PerformTest(void)
|
||||
{
|
||||
NextSubTest();
|
||||
BString string;
|
||||
BString string2("Something");
|
||||
string = string2;
|
||||
CPPUNIT_ASSERT(strcmp(string.String(), string2.String()) == 0);
|
||||
CPPUNIT_ASSERT(strcmp(string.String(), "Something") == 0);
|
||||
|
||||
NextSubTest();
|
||||
BString *str = new BString();
|
||||
*str = "Something Else";
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "Something Else") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
char *s = NULL;
|
||||
str = new BString;
|
||||
*str = s;
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString;
|
||||
str->SetTo(s);
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString;
|
||||
str->SetTo("BLA");
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "BLA") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString;
|
||||
str->SetTo(string);
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), string.String()) == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString;
|
||||
str->SetTo('C', 10);
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "CCCCCCCCCC") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString("ASDSGAFA");
|
||||
str->SetTo('C', 0);
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString;
|
||||
str->SetTo("ABC", 10);
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "ABC") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
const char *oldString2 = string2.String();
|
||||
str = new BString;
|
||||
str->Adopt(string2);
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), oldString2) == 0);
|
||||
CPPUNIT_ASSERT(strcmp(string2.String(), "") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
BString newstring("SomethingElseAgain");
|
||||
const char *oldString = newstring.String();
|
||||
str = new BString;
|
||||
str->Adopt(newstring, 2);
|
||||
CPPUNIT_ASSERT(strncmp(str->String(), oldString, 2) == 0);
|
||||
CPPUNIT_ASSERT(str->Length() == 2);
|
||||
CPPUNIT_ASSERT(strcmp(newstring.String(), "") == 0);
|
||||
delete str;
|
||||
}
|
||||
|
||||
|
||||
CppUnit::Test *StringAssignTest::suite(void)
|
||||
{
|
||||
typedef CppUnit::TestCaller<StringAssignTest>
|
||||
StringAssignTestCaller;
|
||||
|
||||
return(new StringAssignTestCaller("BString::Assign Test", &StringAssignTest::PerformTest));
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef StringAssignTest_H
|
||||
#define StringAssignTest_H
|
||||
|
||||
#include "TestCase.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class StringAssignTest : public BTestCase
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static Test *suite(void);
|
||||
void PerformTest(void);
|
||||
StringAssignTest(std::string name = "");
|
||||
virtual ~StringAssignTest();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,64 @@
|
||||
#include "StringCaseTest.h"
|
||||
#include "cppunit/TestCaller.h"
|
||||
#include <String.h>
|
||||
|
||||
StringCaseTest::StringCaseTest(std::string name) :
|
||||
BTestCase(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
StringCaseTest::~StringCaseTest()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
StringCaseTest::PerformTest(void)
|
||||
{
|
||||
BString *string;
|
||||
|
||||
//Capitalize
|
||||
NextSubTest();
|
||||
string = new BString("this is a sentence");
|
||||
string->Capitalize();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "This is a sentence") == 0);
|
||||
delete string;
|
||||
|
||||
NextSubTest();
|
||||
string = new BString("134this is a sentence");
|
||||
string->Capitalize();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "134this is a sentence") == 0);
|
||||
delete string;
|
||||
|
||||
//ToLower
|
||||
NextSubTest();
|
||||
string = new BString("1a2B3c4d5e6f7G");
|
||||
string->ToLower();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "1a2b3c4d5e6f7g") == 0);
|
||||
delete string;
|
||||
|
||||
//ToUpper
|
||||
NextSubTest();
|
||||
string = new BString("1a2b3c4d5E6f7g");
|
||||
string->ToUpper();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "1A2B3C4D5E6F7G") == 0);
|
||||
delete string;
|
||||
|
||||
//CapitalizeEachWord
|
||||
NextSubTest();
|
||||
string = new BString("each wOrd 3will_be >capiTalized");
|
||||
string->CapitalizeEachWord();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "Each Word 3Will_Be >Capitalized") == 0);
|
||||
delete string;
|
||||
}
|
||||
|
||||
|
||||
CppUnit::Test *StringCaseTest::suite(void)
|
||||
{
|
||||
typedef CppUnit::TestCaller<StringCaseTest>
|
||||
StringCaseTestCaller;
|
||||
|
||||
return(new StringCaseTestCaller("BString::Case Test", &StringCaseTest::PerformTest));
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef StringCaseTest_H
|
||||
#define StringCaseTest_H
|
||||
|
||||
#include "TestCase.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class StringCaseTest : public BTestCase
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static Test *suite(void);
|
||||
void PerformTest(void);
|
||||
StringCaseTest(std::string name = "");
|
||||
virtual ~StringCaseTest();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,73 +0,0 @@
|
||||
#include "StringOperatorsTest.h"
|
||||
#include "cppunit/TestCaller.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
StringOperatorsTest::StringOperatorsTest(std::string name) :
|
||||
BTestCase(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
StringOperatorsTest::~StringOperatorsTest()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
StringOperatorsTest::PerformTest(void)
|
||||
{
|
||||
NextSubTest();
|
||||
BString string;
|
||||
BString string2("Something");
|
||||
string = string2;
|
||||
CPPUNIT_ASSERT(strcmp(string.String(), string2.String()) == 0);
|
||||
CPPUNIT_ASSERT(strcmp(string.String(), "Something") == 0);
|
||||
|
||||
NextSubTest();
|
||||
BString *str = new BString();
|
||||
*str = "Something Else";
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "Something Else") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
char *s = NULL;
|
||||
str = new BString;
|
||||
*str = s;
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString("WaitFor");
|
||||
*str += string2;
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "WaitForSomething") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString("Some");
|
||||
*str += "thing";
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "Something") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString("Some");
|
||||
*str += (char*)NULL;
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "Some") == 0);
|
||||
delete str;
|
||||
|
||||
NextSubTest();
|
||||
str = new BString("Somethin");
|
||||
*str += 'g';
|
||||
CPPUNIT_ASSERT(strcmp(str->String(), "Something") == 0);
|
||||
delete str;
|
||||
}
|
||||
|
||||
|
||||
CppUnit::Test *StringOperatorsTest::suite(void)
|
||||
{
|
||||
typedef CppUnit::TestCaller<StringOperatorsTest>
|
||||
StringOperatorsTestCaller;
|
||||
|
||||
return(new StringOperatorsTestCaller("BString::Operators Test", &StringOperatorsTest::PerformTest));
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
#ifndef StringOperatorsTest_H
|
||||
#define StringOperatorsTest_H
|
||||
|
||||
#include "TestCase.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class StringOperatorsTest : public BTestCase
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static Test *suite(void);
|
||||
void PerformTest(void);
|
||||
StringOperatorsTest(std::string name = "");
|
||||
virtual ~StringOperatorsTest();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -3,7 +3,11 @@
|
||||
#include "StringTest.h"
|
||||
#include "StringConstructionTest.h"
|
||||
#include "StringCountCharTest.h"
|
||||
#include "StringOperatorsTest.h"
|
||||
#include "StringAssignTest.h"
|
||||
#include "StringAppendTest.h"
|
||||
#include "StringSubCopyTest.h"
|
||||
#include "StringPrependTest.h"
|
||||
#include "StringCaseTest.h"
|
||||
|
||||
CppUnit::Test *StringTestSuite()
|
||||
{
|
||||
@@ -11,7 +15,11 @@ CppUnit::Test *StringTestSuite()
|
||||
|
||||
testSuite->addTest(StringConstructionTest::suite());
|
||||
testSuite->addTest(StringCountCharTest::suite());
|
||||
testSuite->addTest(StringOperatorsTest::suite());
|
||||
testSuite->addTest(StringAssignTest::suite());
|
||||
testSuite->addTest(StringAppendTest::suite());
|
||||
testSuite->addTest(StringSubCopyTest::suite());
|
||||
testSuite->addTest(StringPrependTest::suite());
|
||||
testSuite->addTest(StringCaseTest::suite());
|
||||
|
||||
return(testSuite);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user