From 286130ba038761d00334c05bb6a5b2239b712015 Mon Sep 17 00:00:00 2001 From: bemandawes Date: Tue, 24 May 2011 10:45:46 +0000 Subject: [PATCH] Add test_copying_conditional_flip() git-svn-id: http://svn.boost.org/svn/boost/sandbox/endian@72128 b8fc166d-592f-0410-95f2-cb63ce0dd405 --- libs/endian/test/conversion_test.cpp | 160 +++++++++++++++++++-------- 1 file changed, 116 insertions(+), 44 deletions(-) diff --git a/libs/endian/test/conversion_test.cpp b/libs/endian/test/conversion_test.cpp index 84f626b..5fc7131 100644 --- a/libs/endian/test/conversion_test.cpp +++ b/libs/endian/test/conversion_test.cpp @@ -307,54 +307,125 @@ namespace ui16 = lui16; be::from_little(ui16); BOOST_TEST_EQ(ui16, nui16); - - - - i32 = 0x01020304; - be::flip(i32); - BOOST_TEST_EQ(i32, 0x04030201); - be::flip(i32); - BOOST_TEST_EQ(i32, 0x01020304); - - i32 = 0xfefdfcfb; - be::flip(i32); - BOOST_TEST_EQ(i32, static_cast(0xfbfcfdfe)); - be::flip(i32); - BOOST_TEST_EQ(i32, static_cast(0xfefdfcfb)); - - i16 = 0x0102; - be::flip(i16); - BOOST_TEST_EQ(i16, 0x0201); - be::flip(i16); - BOOST_TEST_EQ(i16, 0x0102); - - i16 = static_cast(static_cast(0xfefd)); - be::flip(i16); - BOOST_TEST_EQ(i16, static_cast(static_cast(0xfdfe))); - be::flip(i16); - BOOST_TEST_EQ(i16, static_cast(static_cast(0xfefd))); - - ui64 = 0x0102030405060708ULL; - be::flip(ui64); - BOOST_TEST_EQ(ui64, static_cast(0x0807060504030201ULL)); - be::flip(ui64); - BOOST_TEST_EQ(ui64, static_cast(0x0102030405060708ULL)); - - ui32 = 0x01020304; - be::flip(ui32); - BOOST_TEST_EQ(ui32, static_cast(0x04030201)); - be::flip(ui32); - BOOST_TEST_EQ(ui32, static_cast(0x01020304)); - - ui16 = 0x0102; - be::flip(ui16); - BOOST_TEST_EQ(ui16, 0x0201); - be::flip(ui16); - BOOST_TEST_EQ(ui16, 0x0102); std::cout << " test_in_place_conditional_flip complete\n"; } + void test_copying_conditional_flip() + { + std::cout << "test_copying_conditional_flip...\n"; + + boost::int64_t i64, ti64; + + i64 = ni64; + be::to_big(i64, ti64); + BOOST_TEST_EQ(ti64, bi64); + + i64 = ni64; + be::to_little(i64, ti64); + BOOST_TEST_EQ(ti64, li64); + + i64 = bi64; + be::from_big(i64, ti64); + BOOST_TEST_EQ(ti64, ni64); + + i64 = li64; + be::from_little(i64, ti64); + BOOST_TEST_EQ(ti64, ni64); + + boost::uint64_t ui64, tui64; + + ui64 = nui64; + be::to_big(ui64, tui64); + BOOST_TEST_EQ(tui64, bui64); + + ui64 = nui64; + be::to_little(ui64, tui64); + BOOST_TEST_EQ(tui64, lui64); + + ui64 = bui64; + be::from_big(ui64, tui64); + BOOST_TEST_EQ(tui64, nui64); + + ui64 = lui64; + be::from_little(ui64, tui64); + BOOST_TEST_EQ(tui64, nui64); + + boost::int32_t i32, ti32; + + i32 = ni32; + be::to_big(i32, ti32); + BOOST_TEST_EQ(ti32, bi32); + + i32 = ni32; + be::to_little(i32, ti32); + BOOST_TEST_EQ(ti32, li32); + + i32 = bi32; + be::from_big(i32, ti32); + BOOST_TEST_EQ(ti32, ni32); + + i32 = li32; + be::from_little(i32, ti32); + BOOST_TEST_EQ(ti32, ni32); + + boost::uint32_t ui32, tui32; + + ui32 = nui32; + be::to_big(ui32, tui32); + BOOST_TEST_EQ(tui32, bui32); + + ui32 = nui32; + be::to_little(ui32, tui32); + BOOST_TEST_EQ(tui32, lui32); + + ui32 = bui32; + be::from_big(ui32, tui32); + BOOST_TEST_EQ(tui32, nui32); + + ui32 = lui32; + be::from_little(ui32, tui32); + BOOST_TEST_EQ(tui32, nui32); + + boost::int16_t i16, ti16; + + i16 = ni16; + be::to_big(i16, ti16); + BOOST_TEST_EQ(ti16, bi16); + + i16 = ni16; + be::to_little(i16, ti16); + BOOST_TEST_EQ(ti16, li16); + + i16 = bi16; + be::from_big(i16, ti16); + BOOST_TEST_EQ(ti16, ni16); + + i16 = li16; + be::from_little(i16, ti16); + BOOST_TEST_EQ(ti16, ni16); + + boost::uint16_t ui16, tui16; + + ui16 = nui16; + be::to_big(ui16, tui16); + BOOST_TEST_EQ(tui16, bui16); + + ui16 = nui16; + be::to_little(ui16, tui16); + BOOST_TEST_EQ(tui16, lui16); + + ui16 = bui16; + be::from_big(ui16, tui16); + BOOST_TEST_EQ(tui16, nui16); + + ui16 = lui16; + be::from_little(ui16, tui16); + BOOST_TEST_EQ(tui16, nui16); + + std::cout << " test_copying_conditional_flip complete\n"; + } + } // unnamed namespace int cpp_main(int, char * []) @@ -363,6 +434,7 @@ int cpp_main(int, char * []) test_in_place_flip(); test_copying_flip(); test_in_place_conditional_flip(); + test_copying_conditional_flip(); return ::boost::report_errors(); }