00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef INTEGERTEST_H
00020 #define INTEGERTEST_H
00021
00022 #include <cppunit/TestFixture.h>
00023
00024 #include <typeinfo>
00025
00026 using namespace bit;
00027
00028 class IntegerTest : public CppUnit::TestFixture {
00029 public:
00030
00031 CPPUNIT_TEST_SUITE( IntegerTest );
00032
00033 CPPUNIT_TEST( assign_uint8_host );
00034 CPPUNIT_TEST( assign_int8_host );
00035 CPPUNIT_TEST( assign_uint16_host );
00036 CPPUNIT_TEST( assign_int16_host );
00037 CPPUNIT_TEST( assign_uint32_host );
00038 CPPUNIT_TEST( assign_int32_host );
00039 CPPUNIT_TEST( assign_uint64_host );
00040 CPPUNIT_TEST( assign_int64_host );
00041
00042 CPPUNIT_TEST( assign_uint8_be );
00043 CPPUNIT_TEST( assign_int8_be );
00044 CPPUNIT_TEST( assign_uint16_be );
00045 CPPUNIT_TEST( assign_int16_be );
00046 CPPUNIT_TEST( assign_uint32_be );
00047 CPPUNIT_TEST( assign_int32_be );
00048 CPPUNIT_TEST( assign_uint64_be );
00049 CPPUNIT_TEST( assign_int64_be );
00050
00051 CPPUNIT_TEST( assign_uint8_net );
00052 CPPUNIT_TEST( assign_int8_net );
00053 CPPUNIT_TEST( assign_uint16_net );
00054 CPPUNIT_TEST( assign_int16_net );
00055 CPPUNIT_TEST( assign_uint32_net );
00056 CPPUNIT_TEST( assign_int32_net );
00057 CPPUNIT_TEST( assign_uint64_net );
00058 CPPUNIT_TEST( assign_int64_net );
00059
00060 CPPUNIT_TEST( assign_uint8_le );
00061 CPPUNIT_TEST( assign_int8_le );
00062 CPPUNIT_TEST( assign_uint16_le );
00063 CPPUNIT_TEST( assign_int16_le );
00064 CPPUNIT_TEST( assign_uint32_le );
00065 CPPUNIT_TEST( assign_int32_le );
00066 CPPUNIT_TEST( assign_uint64_le );
00067 CPPUNIT_TEST( assign_int64_le );
00068
00069 CPPUNIT_TEST( convert_host_host_uint8 );
00070 CPPUNIT_TEST( convert_host_host_int8 );
00071 CPPUNIT_TEST( convert_host_host_uint16 );
00072 CPPUNIT_TEST( convert_host_host_int16 );
00073 CPPUNIT_TEST( convert_host_host_uint32 );
00074 CPPUNIT_TEST( convert_host_host_int32 );
00075 CPPUNIT_TEST( convert_host_host_uint64 );
00076 CPPUNIT_TEST( convert_host_host_int64 );
00077
00078 CPPUNIT_TEST( convert_host_be_uint8 );
00079 CPPUNIT_TEST( convert_host_be_int8 );
00080 CPPUNIT_TEST( convert_host_be_uint16 );
00081 CPPUNIT_TEST( convert_host_be_int16 );
00082 CPPUNIT_TEST( convert_host_be_uint32 );
00083 CPPUNIT_TEST( convert_host_be_int32 );
00084 CPPUNIT_TEST( convert_host_be_uint64 );
00085 CPPUNIT_TEST( convert_host_be_int64 );
00086
00087 CPPUNIT_TEST( convert_host_net_uint8 );
00088 CPPUNIT_TEST( convert_host_net_int8 );
00089 CPPUNIT_TEST( convert_host_net_uint16 );
00090 CPPUNIT_TEST( convert_host_net_int16 );
00091 CPPUNIT_TEST( convert_host_net_uint32 );
00092 CPPUNIT_TEST( convert_host_net_int32 );
00093 CPPUNIT_TEST( convert_host_net_uint64 );
00094 CPPUNIT_TEST( convert_host_net_int64 );
00095
00096 CPPUNIT_TEST( convert_host_le_uint8 );
00097 CPPUNIT_TEST( convert_host_le_int8 );
00098 CPPUNIT_TEST( convert_host_le_uint16 );
00099 CPPUNIT_TEST( convert_host_le_int16 );
00100 CPPUNIT_TEST( convert_host_le_uint32 );
00101 CPPUNIT_TEST( convert_host_le_int32 );
00102 CPPUNIT_TEST( convert_host_le_uint64 );
00103 CPPUNIT_TEST( convert_host_le_int64 );
00104
00105 CPPUNIT_TEST( convert_be_host_uint8 );
00106 CPPUNIT_TEST( convert_be_host_int8 );
00107 CPPUNIT_TEST( convert_be_host_uint16 );
00108 CPPUNIT_TEST( convert_be_host_int16 );
00109 CPPUNIT_TEST( convert_be_host_uint32 );
00110 CPPUNIT_TEST( convert_be_host_int32 );
00111 CPPUNIT_TEST( convert_be_host_uint64 );
00112 CPPUNIT_TEST( convert_be_host_int64 );
00113
00114 CPPUNIT_TEST( convert_be_be_uint8 );
00115 CPPUNIT_TEST( convert_be_be_int8 );
00116 CPPUNIT_TEST( convert_be_be_uint16 );
00117 CPPUNIT_TEST( convert_be_be_int16 );
00118 CPPUNIT_TEST( convert_be_be_uint32 );
00119 CPPUNIT_TEST( convert_be_be_int32 );
00120 CPPUNIT_TEST( convert_be_be_uint64 );
00121 CPPUNIT_TEST( convert_be_be_int64 );
00122
00123 CPPUNIT_TEST( convert_be_net_uint8 );
00124 CPPUNIT_TEST( convert_be_net_int8 );
00125 CPPUNIT_TEST( convert_be_net_uint16 );
00126 CPPUNIT_TEST( convert_be_net_int16 );
00127 CPPUNIT_TEST( convert_be_net_uint32 );
00128 CPPUNIT_TEST( convert_be_net_int32 );
00129 CPPUNIT_TEST( convert_be_net_uint64 );
00130 CPPUNIT_TEST( convert_be_net_int64 );
00131
00132 CPPUNIT_TEST( convert_be_le_uint8 );
00133 CPPUNIT_TEST( convert_be_le_int8 );
00134 CPPUNIT_TEST( convert_be_le_uint16 );
00135 CPPUNIT_TEST( convert_be_le_int16 );
00136 CPPUNIT_TEST( convert_be_le_uint32 );
00137 CPPUNIT_TEST( convert_be_le_int32 );
00138 CPPUNIT_TEST( convert_be_le_uint64 );
00139 CPPUNIT_TEST( convert_be_le_int64 );
00140
00141 CPPUNIT_TEST( convert_net_host_uint8 );
00142 CPPUNIT_TEST( convert_net_host_int8 );
00143 CPPUNIT_TEST( convert_net_host_uint16 );
00144 CPPUNIT_TEST( convert_net_host_int16 );
00145 CPPUNIT_TEST( convert_net_host_uint32 );
00146 CPPUNIT_TEST( convert_net_host_int32 );
00147 CPPUNIT_TEST( convert_net_host_uint64 );
00148 CPPUNIT_TEST( convert_net_host_int64 );
00149
00150 CPPUNIT_TEST( convert_net_be_uint8 );
00151 CPPUNIT_TEST( convert_net_be_int8 );
00152 CPPUNIT_TEST( convert_net_be_uint16 );
00153 CPPUNIT_TEST( convert_net_be_int16 );
00154 CPPUNIT_TEST( convert_net_be_uint32 );
00155 CPPUNIT_TEST( convert_net_be_int32 );
00156 CPPUNIT_TEST( convert_net_be_uint64 );
00157 CPPUNIT_TEST( convert_net_be_int64 );
00158
00159 CPPUNIT_TEST( convert_net_net_uint8 );
00160 CPPUNIT_TEST( convert_net_net_int8 );
00161 CPPUNIT_TEST( convert_net_net_uint16 );
00162 CPPUNIT_TEST( convert_net_net_int16 );
00163 CPPUNIT_TEST( convert_net_net_uint32 );
00164 CPPUNIT_TEST( convert_net_net_int32 );
00165 CPPUNIT_TEST( convert_net_net_uint64 );
00166 CPPUNIT_TEST( convert_net_net_int64 );
00167
00168 CPPUNIT_TEST( convert_net_le_uint8 );
00169 CPPUNIT_TEST( convert_net_le_int8 );
00170 CPPUNIT_TEST( convert_net_le_uint16 );
00171 CPPUNIT_TEST( convert_net_le_int16 );
00172 CPPUNIT_TEST( convert_net_le_uint32 );
00173 CPPUNIT_TEST( convert_net_le_int32 );
00174 CPPUNIT_TEST( convert_net_le_uint64 );
00175 CPPUNIT_TEST( convert_net_le_int64 );
00176
00177 CPPUNIT_TEST( convert_le_host_uint8 );
00178 CPPUNIT_TEST( convert_le_host_int8 );
00179 CPPUNIT_TEST( convert_le_host_uint16 );
00180 CPPUNIT_TEST( convert_le_host_int16 );
00181 CPPUNIT_TEST( convert_le_host_uint32 );
00182 CPPUNIT_TEST( convert_le_host_int32 );
00183 CPPUNIT_TEST( convert_le_host_uint64 );
00184 CPPUNIT_TEST( convert_le_host_int64 );
00185
00186 CPPUNIT_TEST( convert_le_be_uint8 );
00187 CPPUNIT_TEST( convert_le_be_int8 );
00188 CPPUNIT_TEST( convert_le_be_uint16 );
00189 CPPUNIT_TEST( convert_le_be_int16 );
00190 CPPUNIT_TEST( convert_le_be_uint32 );
00191 CPPUNIT_TEST( convert_le_be_int32 );
00192 CPPUNIT_TEST( convert_le_be_uint64 );
00193 CPPUNIT_TEST( convert_le_be_int64 );
00194
00195 CPPUNIT_TEST( convert_le_net_uint8 );
00196 CPPUNIT_TEST( convert_le_net_int8 );
00197 CPPUNIT_TEST( convert_le_net_uint16 );
00198 CPPUNIT_TEST( convert_le_net_int16 );
00199 CPPUNIT_TEST( convert_le_net_uint32 );
00200 CPPUNIT_TEST( convert_le_net_int32 );
00201 CPPUNIT_TEST( convert_le_net_uint64 );
00202 CPPUNIT_TEST( convert_le_net_int64 );
00203
00204 CPPUNIT_TEST( convert_le_le_uint8 );
00205 CPPUNIT_TEST( convert_le_le_int8 );
00206 CPPUNIT_TEST( convert_le_le_uint16 );
00207 CPPUNIT_TEST( convert_le_le_int16 );
00208 CPPUNIT_TEST( convert_le_le_uint32 );
00209 CPPUNIT_TEST( convert_le_le_int32 );
00210 CPPUNIT_TEST( convert_le_le_uint64 );
00211 CPPUNIT_TEST( convert_le_le_int64 );
00212
00213 CPPUNIT_TEST_SUITE_END();
00214
00215 public:
00216 void setUp() { }
00217
00218 void tearDown() { }
00219
00220 # if __BYTE_ORDER == __BIG_ENDIAN
00221 void assign_uint8_host() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (uint8_t)0xfe, BYTEORDER_HOST ) ); }
00222 void assign_int8_host() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (int8_t)0xfe, BYTEORDER_HOST ) ); }
00223 void assign_uint16_host() { CPPUNIT_ASSERT( std::string("ABCD") == assignment_test( (uint16_t)0xabcd, BYTEORDER_HOST ) ); }
00224 void assign_int16_host() { CPPUNIT_ASSERT( std::string("ABCD") == assignment_test( (int16_t)0xabcd, BYTEORDER_HOST ) ); }
00225 void assign_uint32_host() { CPPUNIT_ASSERT( std::string("ABCD1234") == assignment_test( (uint32_t)0xabcd1234, BYTEORDER_HOST ) ); }
00226 void assign_int32_host() { CPPUNIT_ASSERT( std::string("ABCD1234") == assignment_test( (int32_t)0xabcd1234, BYTEORDER_HOST ) ); }
00227 void assign_uint64_host() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == assignment_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_HOST ) ); }
00228 void assign_int64_host() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == assignment_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_HOST ) ); }
00229 # elif __BYTE_ORDER == __LITTLE_ENDIAN
00230 void assign_uint8_host() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (uint8_t)0xfe, BYTEORDER_HOST ) ); }
00231 void assign_int8_host() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (int8_t)0xfe, BYTEORDER_HOST ) ); }
00232 void assign_uint16_host() { CPPUNIT_ASSERT( std::string("CDAB") == assignment_test( (uint16_t)0xabcd, BYTEORDER_HOST ) ); }
00233 void assign_int16_host() { CPPUNIT_ASSERT( std::string("CDAB") == assignment_test( (int16_t)0xabcd, BYTEORDER_HOST ) ); }
00234 void assign_uint32_host() { CPPUNIT_ASSERT( std::string("3412CDAB") == assignment_test( (uint32_t)0xabcd1234, BYTEORDER_HOST ) ); }
00235 void assign_int32_host() { CPPUNIT_ASSERT( std::string("3412CDAB") == assignment_test( (int32_t)0xabcd1234, BYTEORDER_HOST ) ); }
00236 void assign_uint64_host() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == assignment_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_HOST ) ); }
00237 void assign_int64_host() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == assignment_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_HOST ) ); }
00238 # endif
00239
00240 void assign_uint8_be() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (uint8_t)0xfe, BYTEORDER_BIG_ENDIAN ) ); }
00241 void assign_int8_be() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (int8_t)0xfe, BYTEORDER_BIG_ENDIAN ) ); }
00242 void assign_uint16_be() { CPPUNIT_ASSERT( std::string("ABCD") == assignment_test( (uint16_t)0xabcd, BYTEORDER_BIG_ENDIAN ) ); }
00243 void assign_int16_be() { CPPUNIT_ASSERT( std::string("ABCD") == assignment_test( (int16_t)0xabcd, BYTEORDER_BIG_ENDIAN ) ); }
00244 void assign_uint32_be() { CPPUNIT_ASSERT( std::string("ABCD1234") == assignment_test( (uint32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN ) ); }
00245 void assign_int32_be() { CPPUNIT_ASSERT( std::string("ABCD1234") == assignment_test( (int32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN ) ); }
00246 void assign_uint64_be() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == assignment_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN ) ); }
00247 void assign_int64_be() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == assignment_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN ) ); }
00248
00249 void assign_uint8_net() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (uint8_t)0xfe, BYTEORDER_NETWORK ) ); }
00250 void assign_int8_net() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (int8_t)0xfe, BYTEORDER_NETWORK ) ); }
00251 void assign_uint16_net() { CPPUNIT_ASSERT( std::string("ABCD") == assignment_test( (uint16_t)0xabcd, BYTEORDER_NETWORK ) ); }
00252 void assign_int16_net() { CPPUNIT_ASSERT( std::string("ABCD") == assignment_test( (int16_t)0xabcd, BYTEORDER_NETWORK ) ); }
00253 void assign_uint32_net() { CPPUNIT_ASSERT( std::string("ABCD1234") == assignment_test( (uint32_t)0xabcd1234, BYTEORDER_NETWORK ) ); }
00254 void assign_int32_net() { CPPUNIT_ASSERT( std::string("ABCD1234") == assignment_test( (int32_t)0xabcd1234, BYTEORDER_NETWORK ) ); }
00255 void assign_uint64_net() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == assignment_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK ) ); }
00256 void assign_int64_net() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == assignment_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK ) ); }
00257
00258 void assign_uint8_le() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (uint8_t)0xfe, BYTEORDER_LITTLE_ENDIAN ) ); }
00259 void assign_int8_le() { CPPUNIT_ASSERT( std::string("FE") == assignment_test( (int8_t)0xfe, BYTEORDER_LITTLE_ENDIAN ) ); }
00260 void assign_uint16_le() { CPPUNIT_ASSERT( std::string("CDAB") == assignment_test( (uint16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN ) ); }
00261 void assign_int16_le() { CPPUNIT_ASSERT( std::string("CDAB") == assignment_test( (int16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN ) ); }
00262 void assign_uint32_le() { CPPUNIT_ASSERT( std::string("3412CDAB") == assignment_test( (uint32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN ) ); }
00263 void assign_int32_le() { CPPUNIT_ASSERT( std::string("3412CDAB") == assignment_test( (int32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN ) ); }
00264 void assign_uint64_le() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == assignment_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN ) ); }
00265 void assign_int64_le() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == assignment_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN ) ); }
00266
00267 # if __BYTE_ORDER == __BIG_ENDIAN
00268 void convert_host_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00269 void convert_host_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00270 void convert_host_host_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00271 void convert_host_host_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00272 void convert_host_host_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00273 void convert_host_host_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00274 void convert_host_host_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00275 void convert_host_host_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00276 # elif __BYTE_ORDER == __LITTLE_ENDIAN
00277 void convert_host_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00278 void convert_host_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00279 void convert_host_host_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00280 void convert_host_host_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00281 void convert_host_host_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00282 void convert_host_host_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00283 void convert_host_host_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00284 void convert_host_host_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_HOST ) ); }
00285 # endif
00286
00287 void convert_host_be_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00288 void convert_host_be_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00289 void convert_host_be_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00290 void convert_host_be_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00291 void convert_host_be_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00292 void convert_host_be_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00293 void convert_host_be_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00294 void convert_host_be_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_BIG_ENDIAN ) ); }
00295
00296 void convert_host_net_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00297 void convert_host_net_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00298 void convert_host_net_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00299 void convert_host_net_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00300 void convert_host_net_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00301 void convert_host_net_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00302 void convert_host_net_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00303 void convert_host_net_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_NETWORK ) ); }
00304
00305 void convert_host_le_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00306 void convert_host_le_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00307 void convert_host_le_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00308 void convert_host_le_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00309 void convert_host_le_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00310 void convert_host_le_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00311 void convert_host_le_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00312 void convert_host_le_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_HOST, BYTEORDER_LITTLE_ENDIAN ) ); }
00313
00314 # if __BYTE_ORDER == __BIG_ENDIAN
00315 void convert_be_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00316 void convert_be_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00317 void convert_be_host_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00318 void convert_be_host_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00319 void convert_be_host_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00320 void convert_be_host_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00321 void convert_be_host_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00322 void convert_be_host_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00323 # elif __BYTE_ORDER == __LITTLE_ENDIAN
00324 void convert_be_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00325 void convert_be_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00326 void convert_be_host_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00327 void convert_be_host_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00328 void convert_be_host_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00329 void convert_be_host_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00330 void convert_be_host_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00331 void convert_be_host_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_HOST ) ); }
00332 # endif
00333
00334 void convert_be_be_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00335 void convert_be_be_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00336 void convert_be_be_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00337 void convert_be_be_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00338 void convert_be_be_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00339 void convert_be_be_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00340 void convert_be_be_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00341 void convert_be_be_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00342
00343 void convert_be_net_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00344 void convert_be_net_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00345 void convert_be_net_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00346 void convert_be_net_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00347 void convert_be_net_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00348 void convert_be_net_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00349 void convert_be_net_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00350 void convert_be_net_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_NETWORK ) ); }
00351
00352 void convert_be_le_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00353 void convert_be_le_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00354 void convert_be_le_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00355 void convert_be_le_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00356 void convert_be_le_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00357 void convert_be_le_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00358 void convert_be_le_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00359 void convert_be_le_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_BIG_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00360
00361 # if __BYTE_ORDER == __BIG_ENDIAN
00362 void convert_net_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00363 void convert_net_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00364 void convert_net_host_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00365 void convert_net_host_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00366 void convert_net_host_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00367 void convert_net_host_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00368 void convert_net_host_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00369 void convert_net_host_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00370 # elif __BYTE_ORDER == __LITTLE_ENDIAN
00371 void convert_net_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00372 void convert_net_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00373 void convert_net_host_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00374 void convert_net_host_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00375 void convert_net_host_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00376 void convert_net_host_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00377 void convert_net_host_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00378 void convert_net_host_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_HOST ) ); }
00379 # endif
00380
00381 void convert_net_be_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00382 void convert_net_be_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00383 void convert_net_be_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00384 void convert_net_be_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00385 void convert_net_be_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00386 void convert_net_be_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00387 void convert_net_be_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00388 void convert_net_be_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_BIG_ENDIAN ) ); }
00389
00390 void convert_net_net_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00391 void convert_net_net_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00392 void convert_net_net_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00393 void convert_net_net_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00394 void convert_net_net_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00395 void convert_net_net_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00396 void convert_net_net_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00397 void convert_net_net_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_NETWORK ) ); }
00398
00399 void convert_net_le_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00400 void convert_net_le_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00401 void convert_net_le_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00402 void convert_net_le_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00403 void convert_net_le_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00404 void convert_net_le_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00405 void convert_net_le_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00406 void convert_net_le_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_NETWORK, BYTEORDER_LITTLE_ENDIAN ) ); }
00407
00408 # if __BYTE_ORDER == __BIG_ENDIAN
00409 void convert_le_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00410 void convert_le_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00411 void convert_le_host_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00412 void convert_le_host_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00413 void convert_le_host_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00414 void convert_le_host_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00415 void convert_le_host_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00416 void convert_le_host_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00417 # elif __BYTE_ORDER == __LITTLE_ENDIAN
00418 void convert_le_host_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00419 void convert_le_host_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00420 void convert_le_host_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00421 void convert_le_host_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00422 void convert_le_host_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00423 void convert_le_host_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00424 void convert_le_host_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00425 void convert_le_host_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_HOST ) ); }
00426 # endif
00427
00428 void convert_le_be_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00429 void convert_le_be_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00430 void convert_le_be_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00431 void convert_le_be_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00432 void convert_le_be_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00433 void convert_le_be_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00434 void convert_le_be_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00435 void convert_le_be_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_BIG_ENDIAN ) ); }
00436
00437 void convert_le_net_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00438 void convert_le_net_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00439 void convert_le_net_uint16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (uint16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00440 void convert_le_net_int16() { CPPUNIT_ASSERT( std::string("ABCD") == conversion_test( (int16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00441 void convert_le_net_uint32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00442 void convert_le_net_int32() { CPPUNIT_ASSERT( std::string("ABCD1234") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00443 void convert_le_net_uint64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00444 void convert_le_net_int64() { CPPUNIT_ASSERT( std::string("FEDCBA9876543210") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_NETWORK ) ); }
00445
00446 void convert_le_le_uint8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (uint8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00447 void convert_le_le_int8() { CPPUNIT_ASSERT( std::string("FE") == conversion_test( (int8_t)0xfe, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00448 void convert_le_le_uint16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (uint16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00449 void convert_le_le_int16() { CPPUNIT_ASSERT( std::string("CDAB") == conversion_test( (int16_t)0xabcd, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00450 void convert_le_le_uint32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (uint32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00451 void convert_le_le_int32() { CPPUNIT_ASSERT( std::string("3412CDAB") == conversion_test( (int32_t)0xabcd1234, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00452 void convert_le_le_uint64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (uint64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00453 void convert_le_le_int64() { CPPUNIT_ASSERT( std::string("1032547698BADCFE") == conversion_test( (int64_t)0xfedcba9876543210LL, BYTEORDER_LITTLE_ENDIAN, BYTEORDER_LITTLE_ENDIAN ) ); }
00454
00455 template <typename I>
00456 std::string assignment_test( I assign, ByteOrder bo ) {
00457 Int<I> the_int(bo);
00458 the_int = assign;
00459 Data d = the_int.as_data();
00460 return d.hex_string();
00461 }
00462
00463 template <typename I>
00464 std::string conversion_test( I assign, ByteOrder bo_orig, ByteOrder bo_convert ) {
00465 I i;
00466 Int<I> the_int(bo_orig);
00467 the_int = assign;
00468 switch ( bo_convert )
00469 {
00470 case BYTEORDER_HOST:
00471 i = the_int.host();
00472 break;
00473 case BYTEORDER_BIG_ENDIAN:
00474 i = the_int.big_endian();
00475 break;
00476 case BYTEORDER_NETWORK:
00477 i = the_int.network();
00478 break;
00479 case BYTEORDER_LITTLE_ENDIAN:
00480 i = the_int.little_endian();
00481 break;
00482 }
00483 Data d( &i, sizeof(I) );
00484 return d.hex_string();
00485 }
00486
00487 };
00488
00489 #endif