1*ce06a3c7SStefano Ceccherini #include "StringFormatAppendTest.h" 2*ce06a3c7SStefano Ceccherini #include "cppunit/TestCaller.h" 3*ce06a3c7SStefano Ceccherini #include <String.h> 4*ce06a3c7SStefano Ceccherini 5*ce06a3c7SStefano Ceccherini StringFormatAppendTest::StringFormatAppendTest(std::string name) : 6*ce06a3c7SStefano Ceccherini BTestCase(name) 7*ce06a3c7SStefano Ceccherini { 8*ce06a3c7SStefano Ceccherini } 9*ce06a3c7SStefano Ceccherini 10*ce06a3c7SStefano Ceccherini 11*ce06a3c7SStefano Ceccherini 12*ce06a3c7SStefano Ceccherini StringFormatAppendTest::~StringFormatAppendTest() 13*ce06a3c7SStefano Ceccherini { 14*ce06a3c7SStefano Ceccherini } 15*ce06a3c7SStefano Ceccherini 16*ce06a3c7SStefano Ceccherini 17*ce06a3c7SStefano Ceccherini void 18*ce06a3c7SStefano Ceccherini StringFormatAppendTest::PerformTest(void) 19*ce06a3c7SStefano Ceccherini { 20*ce06a3c7SStefano Ceccherini BString *string, *string2; 21*ce06a3c7SStefano Ceccherini 22*ce06a3c7SStefano Ceccherini //operator<<(const char *); 23*ce06a3c7SStefano Ceccherini NextSubTest(); 24*ce06a3c7SStefano Ceccherini string = new BString("some"); 25*ce06a3c7SStefano Ceccherini *string << " "; 26*ce06a3c7SStefano Ceccherini *string << "text"; 27*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(string->String(), "some text") == 0); 28*ce06a3c7SStefano Ceccherini delete string; 29*ce06a3c7SStefano Ceccherini 30*ce06a3c7SStefano Ceccherini //operator<<(const BString &); 31*ce06a3c7SStefano Ceccherini NextSubTest(); 32*ce06a3c7SStefano Ceccherini string = new BString("some "); 33*ce06a3c7SStefano Ceccherini string2 = new BString("text"); 34*ce06a3c7SStefano Ceccherini *string << *string2; 35*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(string->String(), "some text") == 0); 36*ce06a3c7SStefano Ceccherini delete string; 37*ce06a3c7SStefano Ceccherini delete string2; 38*ce06a3c7SStefano Ceccherini 39*ce06a3c7SStefano Ceccherini //operator<<(char); 40*ce06a3c7SStefano Ceccherini NextSubTest(); 41*ce06a3c7SStefano Ceccherini string = new BString("str"); 42*ce06a3c7SStefano Ceccherini *string << 'i' << 'n' << 'g'; 43*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(string->String(), "string") == 0); 44*ce06a3c7SStefano Ceccherini delete string; 45*ce06a3c7SStefano Ceccherini 46*ce06a3c7SStefano Ceccherini //operator<<(int); 47*ce06a3c7SStefano Ceccherini NextSubTest(); 48*ce06a3c7SStefano Ceccherini string = new BString("level "); 49*ce06a3c7SStefano Ceccherini *string << (int)42; 50*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(string->String(), "level 42") == 0); 51*ce06a3c7SStefano Ceccherini delete string; 52*ce06a3c7SStefano Ceccherini 53*ce06a3c7SStefano Ceccherini NextSubTest(); 54*ce06a3c7SStefano Ceccherini string = new BString("error "); 55*ce06a3c7SStefano Ceccherini *string << (int)-1; 56*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(string->String(), "error -1") == 0); 57*ce06a3c7SStefano Ceccherini delete string; 58*ce06a3c7SStefano Ceccherini 59*ce06a3c7SStefano Ceccherini //operator<<(unsigned int); 60*ce06a3c7SStefano Ceccherini NextSubTest(); 61*ce06a3c7SStefano Ceccherini NextSubTest(); 62*ce06a3c7SStefano Ceccherini string = new BString("number "); 63*ce06a3c7SStefano Ceccherini *string << (unsigned int)296; 64*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(string->String(), "number 296") == 0); 65*ce06a3c7SStefano Ceccherini delete string; 66*ce06a3c7SStefano Ceccherini 67*ce06a3c7SStefano Ceccherini //operator<<(uint32); 68*ce06a3c7SStefano Ceccherini //operator<<(int32); 69*ce06a3c7SStefano Ceccherini //operator<<(uint64); 70*ce06a3c7SStefano Ceccherini //operator<<(int64); 71*ce06a3c7SStefano Ceccherini 72*ce06a3c7SStefano Ceccherini //operator<<(float); 73*ce06a3c7SStefano Ceccherini NextSubTest(); 74*ce06a3c7SStefano Ceccherini string = new BString; 75*ce06a3c7SStefano Ceccherini *string << (float)34.542; 76*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(string->String(), "34.54") == 0); 77*ce06a3c7SStefano Ceccherini delete string; 78*ce06a3c7SStefano Ceccherini 79*ce06a3c7SStefano Ceccherini //Misc test 80*ce06a3c7SStefano Ceccherini NextSubTest(); 81*ce06a3c7SStefano Ceccherini BString s; 82*ce06a3c7SStefano Ceccherini s << "This" << ' ' << "is" << ' ' << 'a' << ' ' << "test" << ' ' << "sentence"; 83*ce06a3c7SStefano Ceccherini CPPUNIT_ASSERT(strcmp(s.String(), "This is a test sentence") == 0); 84*ce06a3c7SStefano Ceccherini } 85*ce06a3c7SStefano Ceccherini 86*ce06a3c7SStefano Ceccherini 87*ce06a3c7SStefano Ceccherini CppUnit::Test *StringFormatAppendTest::suite(void) 88*ce06a3c7SStefano Ceccherini { 89*ce06a3c7SStefano Ceccherini typedef CppUnit::TestCaller<StringFormatAppendTest> 90*ce06a3c7SStefano Ceccherini StringFormatAppendTestCaller; 91*ce06a3c7SStefano Ceccherini 92*ce06a3c7SStefano Ceccherini return(new StringFormatAppendTestCaller("BString::FormatAppend Test", &StringFormatAppendTest::PerformTest)); 93*ce06a3c7SStefano Ceccherini } 94