1 #include "StringAccessTest.h" 2 #include "cppunit/TestCaller.h" 3 #include <String.h> 4 #include <UTF8.h> 5 6 StringAccessTest::StringAccessTest(std::string name) : 7 BTestCase(name) 8 { 9 } 10 11 12 13 StringAccessTest::~StringAccessTest() 14 { 15 } 16 17 18 void 19 StringAccessTest::PerformTest(void) 20 { 21 //CountChars(), Length(), String() 22 NextSubTest(); 23 BString string("Something"B_UTF8_ELLIPSIS); 24 CPPUNIT_ASSERT(string.CountChars() == 10); 25 CPPUNIT_ASSERT(string.Length() == strlen(string.String()); 26 27 NextSubTest(); 28 BString string2("ABCD"); 29 CPPUNIT_ASSERT(string2.CountChars() == 4); 30 CPPUNIT_ASSERT(string2.Length() == strlen(string2.String()); 31 32 NextSubTest(); 33 static char s[64]; 34 strcpy(s, B_UTF8_ELLIPSIS); 35 strcat(s, B_UTF8_SMILING_FACE); 36 BString string3(s); 37 CPPUNIT_ASSERT(string3.CountChars() == 2); 38 CPPUNIT_ASSERT(string3.Length() == strlen(string3.String()); 39 40 NextSubTest(); 41 BString empty; 42 CPPUNIT_ASSERT(empty.String() == NULL); 43 CPPUNIT_ASSERT(empty.Length() == 0); 44 CPPUNIT_ASSERT(empty.CountChars() == 0); 45 46 } 47 48 49 CppUnit::Test *StringAccessTest::suite(void) 50 { 51 typedef CppUnit::TestCaller<StringAccessTest> 52 StringAccessTestCaller; 53 54 return(new StringAccessTestCaller("BString::Access Test", &StringAccessTest::PerformTest)); 55 } 56