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