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