diff --git a/src/tests/kits/support/bstring/StringOperatorsTest.cpp b/src/tests/kits/support/bstring/StringOperatorsTest.cpp new file mode 100644 index 0000000000..780de940ae --- /dev/null +++ b/src/tests/kits/support/bstring/StringOperatorsTest.cpp @@ -0,0 +1,73 @@ +#include "StringOperatorsTest.h" +#include "cppunit/TestCaller.h" +#include + + +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 + StringOperatorsTestCaller; + + return(new StringOperatorsTestCaller("BString::Operators Test", &StringOperatorsTest::PerformTest)); +} diff --git a/src/tests/kits/support/bstring/StringOperatorsTest.h b/src/tests/kits/support/bstring/StringOperatorsTest.h new file mode 100644 index 0000000000..b32aaa43f0 --- /dev/null +++ b/src/tests/kits/support/bstring/StringOperatorsTest.h @@ -0,0 +1,22 @@ +#ifndef StringOperatorsTest_H +#define StringOperatorsTest_H + +#include "TestCase.h" +#include + + +class StringOperatorsTest : public BTestCase +{ + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + StringOperatorsTest(std::string name = ""); + virtual ~StringOperatorsTest(); +}; + +#endif diff --git a/src/tests/kits/support/bstring/StringTest.cpp b/src/tests/kits/support/bstring/StringTest.cpp index e2079c7983..cd6def0aee 100644 --- a/src/tests/kits/support/bstring/StringTest.cpp +++ b/src/tests/kits/support/bstring/StringTest.cpp @@ -3,6 +3,7 @@ #include "StringTest.h" #include "StringConstructionTest.h" #include "StringCountCharTest.h" +#include "StringOperatorsTest.h" CppUnit::Test *StringTestSuite() { @@ -10,6 +11,7 @@ CppUnit::Test *StringTestSuite() testSuite->addTest(StringConstructionTest::suite()); testSuite->addTest(StringCountCharTest::suite()); + testSuite->addTest(StringOperatorsTest::suite()); return(testSuite); }