14 #include <cxxtest/TestSuite.h>
29 TS_ASSERT_EQUALS( str.
length(), 4U );
30 TS_ASSERT_SAME_DATA( str.
cStr(),
"1234", 5 );
32 Str str3(
"1234", 3 );
33 TS_ASSERT_EQUALS( str3.length(), 3U );
34 TS_ASSERT_SAME_DATA( str3.cStr(),
"123", 4 );
36 Str str0(
"1234", 0 );
37 TS_ASSERT_EQUALS( str0.length(), 0U );
39 TS_ASSERT_SAME_DATA( str0.cStr(),
"", 1 );
41 Str strEmpty128( (
char* )NULL, 128 );
42 TS_ASSERT_EQUALS( strEmpty128.length(), 128U );
44 TS_ASSERT_SAME_DATA( strEmpty128.cStr(),
"", 1 );
53 TS_ASSERT_EQUALS( strCopy, str );
54 TS_ASSERT_EQUALS( strCopy.
length(), 4U );
55 TS_ASSERT_SAME_DATA( strCopy.
cStr(),
"1234", 5 );
57 Str strCopy0( str, 0 );
58 TS_ASSERT_EQUALS( strCopy0, str );
59 TS_ASSERT_EQUALS( strCopy0.length(), 4U );
60 TS_ASSERT_SAME_DATA( strCopy0.cStr(),
"1234", 5 );
62 Str strCopy1( str, 1 );
63 TS_ASSERT_EQUALS( strCopy1.length(), 3U );
64 TS_ASSERT_SAME_DATA( strCopy1.cStr(),
"234", 4 );
67 TS_ASSERT_EQUALS( strCopyMax.length(), 0U );
68 TS_ASSERT_SAME_DATA( strCopyMax.cStr(),
"", 1 );
70 Str strCopy04( str, 0, 4 );
71 TS_ASSERT_EQUALS( strCopy04, str );
72 TS_ASSERT_EQUALS( strCopy04.length(), 4U );
73 TS_ASSERT_SAME_DATA( strCopy04.cStr(),
"1234", 5 );
76 TS_ASSERT_EQUALS( strCopy0Max, str );
77 TS_ASSERT_EQUALS( strCopy0Max.length(), 4U );
78 TS_ASSERT_SAME_DATA( strCopy0Max.cStr(),
"1234", 5 );
80 Str strCopy00( str, 0, 0 );
81 TS_ASSERT_EQUALS( strCopy00.length(), 0U );
82 TS_ASSERT_SAME_DATA( strCopy00.cStr(),
"", 1 );
84 Str strCopy02( str, 0, 2 );
85 TS_ASSERT_EQUALS( strCopy02.length(), 2U );
86 TS_ASSERT_SAME_DATA( strCopy02.cStr(),
"12", 3 );
88 Str strCopy10( str, 1, 0 );
89 TS_ASSERT_EQUALS( strCopy10.length(), 0U );
90 TS_ASSERT_SAME_DATA( strCopy10.cStr(),
"", 1 );
92 Str strCopy12( str, 1, 2 );
93 TS_ASSERT_EQUALS( strCopy12.length(), 2U );
94 TS_ASSERT_SAME_DATA( strCopy12.cStr(),
"23", 3 );
97 TS_ASSERT_EQUALS( strCopy1Max.length(), 3U );
98 TS_ASSERT_SAME_DATA( strCopy1Max.cStr(),
"234", 4 );
106 TS_ASSERT_EQUALS( strTrue.
length(), 1U );
107 TS_ASSERT_SAME_DATA( strTrue.
cStr(),
"1", 2 );
109 Str strFalse(
false );
110 TS_ASSERT_EQUALS( strFalse.length(), 1U );
111 TS_ASSERT_SAME_DATA( strFalse.cStr(),
"0", 2 );
117 Str str0( 1234.0, 0 );
118 TS_ASSERT_EQUALS( str0.
length(), 4U );
119 TS_ASSERT_SAME_DATA( str0.
cStr(),
"1234", 4 );
120 Str str1( 1234.0, 1 );
121 TS_ASSERT_EQUALS( str1.length(), 6U );
122 TS_ASSERT_SAME_DATA( str1.cStr(),
"1234.0", 6 );
123 Str str2( 1234.0, 4 );
124 TS_ASSERT_EQUALS( str2.length(), 9U );
125 TS_ASSERT_SAME_DATA( str2.cStr(),
"1234.0000", 5 );
126 Str str3( 1234.567, 3 );
127 TS_ASSERT_EQUALS( str3.length(), 8U );
128 TS_ASSERT_SAME_DATA( str3.cStr(),
"1234.567", 9 );
129 Str str4( -1234.567, 3 );
130 TS_ASSERT_EQUALS( str4.length(), 9U );
131 TS_ASSERT_SAME_DATA( str4.cStr(),
"-1234.567", 10 );
138 TS_ASSERT_EQUALS( str0.
length(), 4U );
139 TS_ASSERT_SAME_DATA( str0.
cStr(),
"1234", 5 );
140 Str str1( 1234, 16 );
141 TS_ASSERT_EQUALS( str1.length(), 3U );
142 TS_ASSERT_SAME_DATA( str1.cStr(),
"4D2", 4 );
144 TS_ASSERT_EQUALS( str2.length(), 4U );
145 TS_ASSERT_SAME_DATA( str2.cStr(),
"2322", 5 );
147 TS_ASSERT_EQUALS( str3.length(), 11U );
148 TS_ASSERT_SAME_DATA( str3.cStr(),
"10011010010", 12 );
150 TS_ASSERT_EQUALS( str4.length(), 4U );
151 TS_ASSERT_SAME_DATA( str4.cStr(),
"1234", 5 );
153 TS_ASSERT_EQUALS( str5.length(), 11U );
154 TS_ASSERT_SAME_DATA( str5.cStr(),
"10011010010", 12 );
156 TS_ASSERT_EQUALS( str6.length(), 5U );
157 TS_ASSERT_SAME_DATA( str6.cStr(),
"-1234", 6 );
158 Str str7( -1234, 2 );
159 TS_ASSERT_EQUALS( str7.length(), 12U );
160 TS_ASSERT_SAME_DATA( str7.cStr(),
"-10011010010", 13 );
166 const size_t val = 1234;
168 TS_ASSERT_EQUALS( str0.
length(), 3U );
169 TS_ASSERT_SAME_DATA( str0.
cStr(),
"4D2", 4 );
171 TS_ASSERT_EQUALS( str1.length(), 4U );
172 TS_ASSERT_SAME_DATA( str1.cStr(),
"1234", 4 );
174 TS_ASSERT_EQUALS( str2.length(), 4U );
175 TS_ASSERT_SAME_DATA( str2.cStr(),
"2322", 5 );
177 TS_ASSERT_EQUALS( str3.length(), 11U );
178 TS_ASSERT_SAME_DATA( str3.cStr(),
"10011010010", 12 );
180 TS_ASSERT_EQUALS( str4.length(), 4U );
181 TS_ASSERT_SAME_DATA( str4.cStr(),
"1234", 5 );
183 TS_ASSERT_EQUALS( str5.length(), 11U );
184 TS_ASSERT_SAME_DATA( str5.cStr(),
"10011010010", 12 );
194 TS_ASSERT_SAME_DATA( buffer,
"0", len + 1 );
197 TS_ASSERT_SAME_DATA( buffer,
"5", len + 1 );
200 TS_ASSERT_SAME_DATA( buffer,
"10", len + 1 );
203 TS_ASSERT_SAME_DATA( buffer,
"-10", len + 1 );
206 TS_ASSERT_SAME_DATA( buffer,
"100", len + 1 );
209 TS_ASSERT_SAME_DATA( buffer,
"-100", len + 1 );
212 TS_ASSERT_SAME_DATA( buffer,
"2147483647", len + 1 );
215 TS_ASSERT_SAME_DATA( buffer,
"-2147483648", len + 1 );
218 TS_ASSERT_SAME_DATA( buffer,
"1111111111111111111111111111111", len + 1 );
221 TS_ASSERT_SAME_DATA( buffer,
"-10000000000000000000000000000000", len + 1 );
224 TS_ASSERT_SAME_DATA( buffer,
"-1111111111111111111111111111111", len + 1 );
227 TS_ASSERT_SAME_DATA( buffer,
"1", len + 1 );
230 TS_ASSERT_SAME_DATA( buffer,
"7FFFFFFF", len + 1 );
233 TS_ASSERT_SAME_DATA( buffer,
"-80000000", len + 1 );
236 TS_ASSERT_SAME_DATA( buffer,
"-7FFFFFFF", len + 1 );
239 TS_ASSERT_SAME_DATA( buffer,
"F", len + 1 );
249 TS_ASSERT_SAME_DATA( buffer,
"A", len + 1 );
252 TS_ASSERT_SAME_DATA( buffer,
"F", len + 1 );
255 TS_ASSERT_SAME_DATA( buffer,
"K", len + 1 );
258 TS_ASSERT_SAME_DATA( buffer,
"-K", len + 1 );
261 TS_ASSERT_SAME_DATA( buffer,
"DV", len + 1 );
264 TS_ASSERT_SAME_DATA( buffer,
"-DV", len + 1 );
269 Str testStr =
"0123456789";
270 TS_ASSERT_EQUALS( testStr.
findLastOf(
'8' ), ( size_t )8 );
271 TS_ASSERT_EQUALS( testStr.
findLastOf(
"67" ), ( size_t )6 );
277 Str testStr =
"1++22+333";
279 Str* split = testStr.
split( num,
"+" );
280 TS_ASSERT_EQUALS( num, 4 );
281 TS_ASSERT_SAME_DATA( split[0].cStr(),
"1", 2 );
282 TS_ASSERT_SAME_DATA( split[1].cStr(),
"", 1 );
283 TS_ASSERT_SAME_DATA( split[2].cStr(),
"22", 3 );
284 TS_ASSERT_SAME_DATA( split[3].cStr(),
"333", 4 );
290 const char chars1[] = { 0x00, 0x79 };
291 Str str1( chars1,
sizeof( chars1 ) );
293 TS_ASSERT_EQUALS( strHex1.
length(), 4U );
294 TS_ASSERT_SAME_DATA( strHex1.
cStr(),
"0079", 5 );
298 #endif // _STR_TEST_H
void testBoolConstructor(void)
Units tests for Str( const bool var );
Definition: Str_Test.h:103
static const size_t MAX_LEN
Definition: Str.h:18
Str asHex() const
Return a new Str, with a hex representation of each character of this string.
Definition: Str.cpp:467
size_t length() const
Definition: Str.h:196
static const size_t NO_POS
static constants
Definition: Str.h:17
void testAsHex()
Definition: Str_Test.h:288
void testIntConstructor(void)
Units tests for Str( const int var, size_t radix = 10 )
Definition: Str_Test.h:135
void testCopyConstructor(void)
Units tests for Str( const Str& str, const size_t offset = 0, size_t count = NO_POS ); ...
Definition: Str_Test.h:48
void testIntToAsciiWithOffset(void)
Str::IntToAscii Unit Tests.
Definition: Str_Test.h:243
Replacement for standard template class string.
Definition: Str.h:12
size_t findLastOf(const unsigned char str) const
returns the position of the specified character in the string, looking from the end of the string tow...
Definition: Str.cpp:247
void testSizeTConstructor(void)
Units tests for Str( const unsigned int var, size_t radix = 16 )
Definition: Str_Test.h:164
void testIntToAscii(void)
Str::IntToAscii Unit Tests.
Definition: Str_Test.h:188
Units tests for class Str
Definition: Str_Test.h:21
const char * cStr() const
Definition: Str.h:188
void testConstructorCharStar(void)
Units tests for Str( const char* str = NULL, size_t length = NO_POS );
Definition: Str_Test.h:26
static const Str EMPTY_STR
Definition: Str.h:19
void testFindLastOf()
Definition: Str_Test.h:267
void testDoubleConstructor(void)
Units tests for Str( const double var, size_t precision = 10 )
Definition: Str_Test.h:115
Str * split(int &num, const char *splitSpec, size_t length=NO_POS) const
Definition: Str.cpp:429
static unsigned int IntToAscii(int value, char *str, unsigned int base, unsigned int bufSize, unsigned int baseOffset=0)
convert an integer to a string, returns the length of the string Unit tests in Str_Test.testIntToAscii
Definition: Str.cpp:371
void testSplit()
Definition: Str_Test.h:275