integertest.h

00001 /***************************************************************************
00002 *   Copyright (C) 2001 by Rick L. Vinyard, Jr.                            *
00003 *   rvinyard@cs.nmsu.edu                                                  *
00004 *                                                                         *
00005 *   This program is free software; you can redistribute it and/or modify  *
00006 *   it under the terms of the GNU Lesser General Public License as        *
00007 *   published by the Free Software Foundation version 2.1.                *
00008 *                                                                         *
00009 *   This program is distributed in the hope that it will be useful,       *
00010 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00011 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00012 *   GNU General Public License for more details.                          *
00013 *                                                                         *
00014 *   You should have received a copy of the GNU Lesser General Public      *
00015 *   License along with this library; if not, write to the                 *
00016 *   Free Software Foundation, Inc.,                                       *
00017 *   51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA              *
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

Generated on Tue Mar 13 20:00:01 2007 by  doxygen 1.5.1