More tests (Escaping, Inserting)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1406 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -31,6 +31,12 @@ StringCaseTest::PerformTest(void)
|
||||
string->Capitalize();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "134this is a sentence") == 0);
|
||||
delete string;
|
||||
|
||||
NextSubTest();
|
||||
string = new BString;
|
||||
string->Capitalize();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "") == 0);
|
||||
delete string;
|
||||
|
||||
//ToLower
|
||||
NextSubTest();
|
||||
@@ -39,6 +45,12 @@ StringCaseTest::PerformTest(void)
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "1a2b3c4d5e6f7g") == 0);
|
||||
delete string;
|
||||
|
||||
NextSubTest();
|
||||
string = new BString;
|
||||
string->ToLower();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "") == 0);
|
||||
delete string;
|
||||
|
||||
//ToUpper
|
||||
NextSubTest();
|
||||
string = new BString("1a2b3c4d5E6f7g");
|
||||
@@ -46,12 +58,24 @@ StringCaseTest::PerformTest(void)
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "1A2B3C4D5E6F7G") == 0);
|
||||
delete string;
|
||||
|
||||
NextSubTest();
|
||||
string = new BString;
|
||||
string->ToUpper();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "") == 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;
|
||||
delete string;
|
||||
|
||||
NextSubTest();
|
||||
string = new BString;
|
||||
string->CapitalizeEachWord();
|
||||
CPPUNIT_ASSERT(strcmp(string->String(), "") == 0);
|
||||
delete string;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
#include "StringEscapeTest.h"
|
||||
#include "cppunit/TestCaller.h"
|
||||
#include <String.h>
|
||||
|
||||
StringEscapeTest::StringEscapeTest(std::string name) :
|
||||
BTestCase(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
StringEscapeTest::~StringEscapeTest()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
StringEscapeTest::PerformTest(void)
|
||||
{
|
||||
BString *string1, *string2;
|
||||
|
||||
NextSubTest();
|
||||
string1 = new BString("abcdefghi");
|
||||
string1->CharacterEscape("acf", '/');
|
||||
CPPUNIT_ASSERT(strcmp(string1->String(), "/ab/cde/fghi") == 0);
|
||||
delete string1;
|
||||
}
|
||||
|
||||
|
||||
CppUnit::Test *StringEscapeTest::suite(void)
|
||||
{
|
||||
typedef CppUnit::TestCaller<StringEscapeTest>
|
||||
StringEscapeTestCaller;
|
||||
|
||||
return(new StringEscapeTestCaller("BString::Escape Test", &StringEscapeTest::PerformTest));
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef StringEscapeTest_H
|
||||
#define StringEscapeTest_H
|
||||
|
||||
#include "TestCase.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class StringEscapeTest : public BTestCase
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static Test *suite(void);
|
||||
void PerformTest(void);
|
||||
StringEscapeTest(std::string name = "");
|
||||
virtual ~StringEscapeTest();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,85 @@
|
||||
#include "StringInsertTest.h"
|
||||
#include "cppunit/TestCaller.h"
|
||||
#include <String.h>
|
||||
#include <iostream>
|
||||
|
||||
StringInsertTest::StringInsertTest(std::string name) :
|
||||
BTestCase(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
StringInsertTest::~StringInsertTest()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
StringInsertTest::PerformTest(void)
|
||||
{
|
||||
BString *str1, *str2;
|
||||
|
||||
//&Insert(const char *, int32 pos);
|
||||
NextSubTest();
|
||||
str1 = new BString("String");
|
||||
str1->Insert("INSERTED", 3);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "StrINSERTEDing") == 0);
|
||||
delete str1;
|
||||
|
||||
//This test crashes both implementations
|
||||
//NextSubTest();
|
||||
//str1 = new BString("String");
|
||||
//str1->Insert("INSERTED", 10);
|
||||
//CPPUNIT_ASSERT(strcmp(str1->String(), "string") == 0);
|
||||
//delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString;
|
||||
str1->Insert("INSERTED", -1);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "NSERTED") == 0);
|
||||
delete str1;
|
||||
|
||||
//&Insert(const char *, int32 length, int32 pos);
|
||||
NextSubTest();
|
||||
str1 = new BString("string");
|
||||
str1->Insert("INSERTED", 2, 2);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "stINring") == 0);
|
||||
delete str1;
|
||||
|
||||
//This test crashes both implementations
|
||||
//NextSubTest();
|
||||
//str1 = new BString("string");
|
||||
//str1->Insert("INSERTED", 2, 30);
|
||||
//CPPUNIT_ASSERT(strcmp(str1->String(), "stINring") == 0);
|
||||
//delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("string");
|
||||
str1->Insert("INSERTED", 10, 2);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "stINSERTEDring") == 0);
|
||||
delete str1;
|
||||
|
||||
//&Insert(const char *, int32 fromOffset, int32 length, int32 pos);
|
||||
NextSubTest();
|
||||
str1 = new BString("string");
|
||||
str1->Insert("INSERTED", 4, 30, 2);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "stRTEDring") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString("string");
|
||||
str1->Insert('P', 5, 3);
|
||||
cerr << str1->String() << endl;
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "strPPPPPing") == 0);
|
||||
delete str1;
|
||||
}
|
||||
|
||||
|
||||
CppUnit::Test *StringInsertTest::suite(void)
|
||||
{
|
||||
typedef CppUnit::TestCaller<StringInsertTest>
|
||||
StringInsertTestCaller;
|
||||
|
||||
return(new StringInsertTestCaller("BString::Insert Test", &StringInsertTest::PerformTest));
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef StringInsertTest_H
|
||||
#define StringInsertTest_H
|
||||
|
||||
#include "TestCase.h"
|
||||
#include <String.h>
|
||||
|
||||
|
||||
class StringInsertTest : public BTestCase
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
static Test *suite(void);
|
||||
void PerformTest(void);
|
||||
StringInsertTest(std::string name = "");
|
||||
virtual ~StringInsertTest();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -59,6 +59,13 @@ StringPrependTest::PerformTest(void)
|
||||
str1->Prepend('c', 4);
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "ccccaString") == 0);
|
||||
delete str1;
|
||||
|
||||
NextSubTest();
|
||||
str1 = new BString;
|
||||
str1->Prepend("PREPENDED");
|
||||
CPPUNIT_ASSERT(strcmp(str1->String(), "PREPENDED") == 0);
|
||||
delete str1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include "StringSubCopyTest.h"
|
||||
#include "StringPrependTest.h"
|
||||
#include "StringCaseTest.h"
|
||||
#include "StringInsertTest.h"
|
||||
#include "StringEscapeTest.h"
|
||||
|
||||
CppUnit::Test *StringTestSuite()
|
||||
{
|
||||
@@ -20,6 +22,8 @@ CppUnit::Test *StringTestSuite()
|
||||
testSuite->addTest(StringSubCopyTest::suite());
|
||||
testSuite->addTest(StringPrependTest::suite());
|
||||
testSuite->addTest(StringCaseTest::suite());
|
||||
testSuite->addTest(StringInsertTest::suite());
|
||||
testSuite->addTest(StringEscapeTest::suite());
|
||||
|
||||
return(testSuite);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user