1#include "StringCharAccessTest.h" 2#include "cppunit/TestCaller.h" 3#include <String.h> 4 5 6StringCharAccessTest::StringCharAccessTest(std::string name) 7 : BTestCase(name) 8{ 9} 10 11 12StringCharAccessTest::~StringCharAccessTest() 13{ 14} 15 16 17void 18StringCharAccessTest::PerformTest(void) 19{ 20 BString string("A simple string"); 21 22 // operator[] 23 NextSubTest(); 24 CPPUNIT_ASSERT(string[0] == 'A'); 25 CPPUNIT_ASSERT(string[1] == ' '); 26 27 // &operator[] 28 NextSubTest(); 29 string.SetByteAt(0, 'a'); 30 CPPUNIT_ASSERT(strcmp(string.String(), "a simple string") == 0); 31 32 // ByteAt(int32) 33 NextSubTest(); 34 CPPUNIT_ASSERT(string.ByteAt(-10) == 0); 35 CPPUNIT_ASSERT(string.ByteAt(200) == 0); 36 CPPUNIT_ASSERT(string.ByteAt(1) == ' '); 37 CPPUNIT_ASSERT(string.ByteAt(7) == 'e'); 38} 39 40 41CppUnit::Test *StringCharAccessTest::suite(void) 42{ 43 typedef CppUnit::TestCaller<StringCharAccessTest> 44 StringCharAccessTestCaller; 45 46 return(new StringCharAccessTestCaller("BString::CharAccess Test", 47 &StringCharAccessTest::PerformTest)); 48} 49