diff --git a/src/tests/kits/support/bstring/StringConstructionTest.cpp b/src/tests/kits/support/bstring/StringConstructionTest.cpp new file mode 100644 index 0000000000..67277b9b6e --- /dev/null +++ b/src/tests/kits/support/bstring/StringConstructionTest.cpp @@ -0,0 +1,70 @@ +#include "StringConstructionTest.h" +#include "cppunit/TestCaller.h" +#include + + +StringConstructionTest::StringConstructionTest(std::string name) : + BTestCase(name) +{ +} + + + +StringConstructionTest::~StringConstructionTest() +{ +} + + +void +StringConstructionTest::PerformTest(void) +{ + BString *string; + const char *str = "Something"; + + NextSubTest(); + string = new BString; + CPPUNIT_ASSERT(strcmp(string->String(), "") == 0); + CPPUNIT_ASSERT(string->Length() == 0); + delete string; + + NextSubTest(); + string = new BString(str); + CPPUNIT_ASSERT(strcmp(string->String(), str) == 0); + CPPUNIT_ASSERT(string->Length() == strlen(str)); + delete string; + + NextSubTest(); + string = new BString(NULL); + CPPUNIT_ASSERT(strcmp(string->String(), "") == 0); + CPPUNIT_ASSERT(string->Length() == 0); + delete string; + + NextSubTest(); + BString anotherString("Something Else"); + string = new BString(anotherString); + CPPUNIT_ASSERT(strcmp(string->String(), anotherString.String()) == 0); + CPPUNIT_ASSERT(string->Length() == anotherString.Length()); + delete string; + + NextSubTest(); + string = new BString(str, 5); + CPPUNIT_ASSERT(strcmp(string->String(), str) != 0); + CPPUNIT_ASSERT(strncmp(string->String(), str, 5) == 0); + CPPUNIT_ASSERT(string->Length() == 5); + delete string; + + NextSubTest(); + string = new BString(str, 255); + CPPUNIT_ASSERT(strcmp(string->String(), str) == 0); + CPPUNIT_ASSERT(string->Length() == strlen(str)); + delete string; +} + + +CppUnit::Test *StringConstructionTest::suite(void) +{ + typedef CppUnit::TestCaller + StringConstructionTestCaller; + + return(new StringConstructionTestCaller("BString::Construction Test", &StringConstructionTest::PerformTest)); +} diff --git a/src/tests/kits/support/bstring/StringConstructionTest.h b/src/tests/kits/support/bstring/StringConstructionTest.h new file mode 100644 index 0000000000..efcf8940cb --- /dev/null +++ b/src/tests/kits/support/bstring/StringConstructionTest.h @@ -0,0 +1,22 @@ +#ifndef StringConstructionTest_H +#define StringConstructionTest_H + +#include "TestCase.h" +#include + + +class StringConstructionTest : public BTestCase +{ + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + StringConstructionTest(std::string name = ""); + virtual ~StringConstructionTest(); + }; + +#endif diff --git a/src/tests/kits/support/bstring/StringCountCharTest.cpp b/src/tests/kits/support/bstring/StringCountCharTest.cpp new file mode 100644 index 0000000000..53df68c5a1 --- /dev/null +++ b/src/tests/kits/support/bstring/StringCountCharTest.cpp @@ -0,0 +1,44 @@ +#include "StringCountCharTest.h" +#include "cppunit/TestCaller.h" +#include +#include + +StringCountCharTest::StringCountCharTest(std::string name) : + BTestCase(name) +{ +} + + + +StringCountCharTest::~StringCountCharTest() +{ +} + + +void +StringCountCharTest::PerformTest(void) +{ + NextSubTest(); + BString string("Something"B_UTF8_ELLIPSIS); + CPPUNIT_ASSERT(string.CountChars() == 10); + + NextSubTest(); + BString string2("ABCD"); + CPPUNIT_ASSERT(string2.CountChars() == 4); + + NextSubTest(); + static char s[64]; + strcpy(s, B_UTF8_ELLIPSIS); + strcat(s, B_UTF8_SMILING_FACE); + BString string3(s); + CPPUNIT_ASSERT(string3.CountChars() == 2); +} + + +CppUnit::Test *StringCountCharTest::suite(void) +{ + typedef CppUnit::TestCaller + StringCountCharTestCaller; + + return(new StringCountCharTestCaller("BString::CountChar Test", &StringCountCharTest::PerformTest)); +} diff --git a/src/tests/kits/support/bstring/StringCountCharTest.h b/src/tests/kits/support/bstring/StringCountCharTest.h new file mode 100644 index 0000000000..6199195df1 --- /dev/null +++ b/src/tests/kits/support/bstring/StringCountCharTest.h @@ -0,0 +1,22 @@ +#ifndef StringCountCharTest_H +#define StringCountCharTest_H + +#include "TestCase.h" +#include + + +class StringCountCharTest : public BTestCase +{ + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + StringCountCharTest(std::string name = ""); + virtual ~StringCountCharTest(); + }; + +#endif diff --git a/src/tests/kits/support/bstring/StringTest.cpp b/src/tests/kits/support/bstring/StringTest.cpp new file mode 100644 index 0000000000..e2079c7983 --- /dev/null +++ b/src/tests/kits/support/bstring/StringTest.cpp @@ -0,0 +1,15 @@ +#include "cppunit/Test.h" +#include "cppunit/TestSuite.h" +#include "StringTest.h" +#include "StringConstructionTest.h" +#include "StringCountCharTest.h" + +CppUnit::Test *StringTestSuite() +{ + CppUnit::TestSuite *testSuite = new CppUnit::TestSuite(); + + testSuite->addTest(StringConstructionTest::suite()); + testSuite->addTest(StringCountCharTest::suite()); + + return(testSuite); +} diff --git a/src/tests/kits/support/bstring/StringTest.h b/src/tests/kits/support/bstring/StringTest.h new file mode 100644 index 0000000000..1c83dc3326 --- /dev/null +++ b/src/tests/kits/support/bstring/StringTest.h @@ -0,0 +1,8 @@ +#ifndef _string_test_h_ +#define _string_test_h_ + +class CppUnit::Test; + +CppUnit::Test *StringTestSuite(); + +#endif // _string_test_h_