From cebc72f7c90e5c23883251ae8a42ec0712bc2ab7 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Tue, 29 Oct 2002 09:59:55 +0000 Subject: [PATCH] FindFirst() tests added to the build. More coming git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1754 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/kits/support/Jamfile | 2 +- .../kits/support/bstring/StringSearchTest.cpp | 150 ++++++++++++++++++ .../kits/support/bstring/StringSearchTest.h | 22 +++ src/tests/kits/support/bstring/StringTest.cpp | 2 + 4 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 src/tests/kits/support/bstring/StringSearchTest.cpp create mode 100644 src/tests/kits/support/bstring/StringSearchTest.h 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); }