diff --git a/src/tests/kits/support/Jamfile b/src/tests/kits/support/Jamfile index 0d800119a3..87fc1dd13d 100644 --- a/src/tests/kits/support/Jamfile +++ b/src/tests/kits/support/Jamfile @@ -46,7 +46,6 @@ CommonTestLib libsupporttest.so MallocIOTest.cpp MallocSeekTest.cpp MallocWriteTest.cpp - #MallocReadTest.cpp MallocBufferLengthTest.cpp #BString @@ -64,6 +63,7 @@ CommonTestLib libsupporttest.so StringCompareTest.cpp StringFormatAppendTest.cpp StringCharAccessTest.cpp + StringSearchTest.cpp : libopenbeos.so be stdc++.r4 diff --git a/src/tests/kits/support/bstring/StringSearchTest.cpp b/src/tests/kits/support/bstring/StringSearchTest.cpp new file mode 100644 index 0000000000..c38824c9d0 --- /dev/null +++ b/src/tests/kits/support/bstring/StringSearchTest.cpp @@ -0,0 +1,150 @@ +#include "StringSearchTest.h" +#include "cppunit/TestCaller.h" +#include +#include + +StringSearchTest::StringSearchTest(std::string name) : + BTestCase(name) +{ +} + + + +StringSearchTest::~StringSearchTest() +{ +} + + +void +StringSearchTest::PerformTest(void) +{ + BString *string1, *string2; + int32 i; + + //FindFirst(BString&) + NextSubTest(); + string1 = new BString("last but not least"); + string2 = new BString("st"); + i = string1->FindFirst(*string2); + CPPUNIT_ASSERT(i == 2); + delete string1; + delete string2; + + NextSubTest(); + string1 = new BString; + string2 = new BString("some text"); + i = string1->FindFirst(*string2); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + delete string2; + + //FindFirst(char*) + NextSubTest(); + string1 = new BString("last but not least"); + i = string1->FindFirst("st"); + CPPUNIT_ASSERT(i == 2); + delete string1; + + NextSubTesT(); + string1 = new BString; + i = string1->FindFirst("some text"); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + + NextSubTest(); + string1 = new BString("string"); + i = string1->FindFirst((char*)NULL); + CPPUNIT_ASSERT(i == 0); + delete string1; + + //FindFirst(BString&, int32) + NextSubTest(); + string1 = new BString("abc abc abc"); + string2 = new BString("abc"); + i = string1->FindFirst(*string2, 5); + CPPUNIT_ASSERT(i == 8); + delete string1; + delete string2; + + NextSubTest(); + string1 = new BString("abc abc abc"); + string2 = new BString("abc"); + i = string1->FindFirst(*string2, 200); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + delete string2; + + NextSubTest(); + string1 = new BString("abc abc abc"); + string2 = new BString("abc"); + i = string1->FindFirst(*string2, -10); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + delete string2; + + //FindFirst(const char*, int32) + NextSubTest(); + string1 = new BString("abc abc abc"); + i = string1->FindFirst("abc", 2); + CPPUNIT_ASSERT(i == 4); + delete string1; + + NextSubTest(); + string1 = new BString("abc abc abc"); + i = string1->FindFirst("abc", 200); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + + NextSubTest(); + string1 = new BString("abc abc abc"); + i = string1->FindFirst("abc", -10); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + + NextSubTest(); + string1 = new BString("abc abc abc"); + i = string1->FindFirst((char*)NULL, 3); + CPPUNIT_ASSERT(i == 0); + delete string1; + + //FindFirst(char) + NextSubTest(); + string1 = new BString("abcd abcd"); + i = string1->FindFirst('c'); + CPPUNIT_ASSERT(i == 2); + delete string1; + + NextSubTest(); + string1 = new BString("abcd abcd"); + i = string1->FindFirst('e'); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + + //FindFirst(char, int32) + NextSubTest(); + string1 = new BString("abc abc abc"); + i = string1->FindFirst("b", 3); + CPPUNIT_ASSERT(i == 5); + delete string1; + + NextSubTest(); + string1 = new BString("abcd abcd"); + i = string1->FindFirst('e', 3); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; + + NextSubTest(); + string1 = new BString("abc abc abc"); + i = string1->FindFirst("a", 9); + CPPUNIT_ASSERT(i == B_ERROR); + delete string1; +} + + +CppUnit::Test *StringSearchTest::suite(void) +{ + typedef CppUnit::TestCaller + StringSearchTestCaller; + + return(new StringSearchTestCaller("BString::Search Test", &StringSearchTest::PerformTest)); +} diff --git a/src/tests/kits/support/bstring/StringSearchTest.h b/src/tests/kits/support/bstring/StringSearchTest.h new file mode 100644 index 0000000000..574c266bc7 --- /dev/null +++ b/src/tests/kits/support/bstring/StringSearchTest.h @@ -0,0 +1,22 @@ +#ifndef StringSearchTest_H +#define StringSearchTest_H + +#include "TestCase.h" +#include + + +class StringSearchTest : public BTestCase +{ + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + StringSearchTest(std::string name = ""); + virtual ~StringSearchTest(); + }; + +#endif diff --git a/src/tests/kits/support/bstring/StringTest.cpp b/src/tests/kits/support/bstring/StringTest.cpp index 57e050e712..a754430559 100644 --- a/src/tests/kits/support/bstring/StringTest.cpp +++ b/src/tests/kits/support/bstring/StringTest.cpp @@ -14,6 +14,7 @@ #include "StringCompareTest.h" #include "StringFormatAppendTest.h" #include "StringCharAccessTest.h" +#include "StringSearchTest.h" CppUnit::Test *StringTestSuite() { @@ -32,6 +33,7 @@ CppUnit::Test *StringTestSuite() testSuite->addTest(StringCompareTest::suite()); testSuite->addTest(StringFormatAppendTest::suite()); testSuite->addTest(StringCharAccessTest::suite()); + testSuite->addTest(StringSearchTest::suite()); return(testSuite); }