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 "StringTest.h"
|
||||||
#include "StringConstructionTest.h"
|
#include "StringConstructionTest.h"
|
||||||
#include "StringCountCharTest.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()
|
CppUnit::Test *StringTestSuite()
|
||||||
{
|
{
|
||||||
@@ -11,7 +15,11 @@ CppUnit::Test *StringTestSuite()
|
|||||||
|
|
||||||
testSuite->addTest(StringConstructionTest::suite());
|
testSuite->addTest(StringConstructionTest::suite());
|
||||||
testSuite->addTest(StringCountCharTest::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);
|
return(testSuite);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user