From baa6eca18c218e911080658094040f21f2f56f18 Mon Sep 17 00:00:00 2001 From: Nigel Stewart Date: Sun, 31 Jan 2016 20:18:22 +1000 Subject: [PATCH] Test coverage for algorithm::hex_lower, adapting existing coverage for algorithm::hex --- test/hex_test1.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test/hex_test1.cpp b/test/hex_test1.cpp index d9f5364..31e3f9d 100644 --- a/test/hex_test1.cpp +++ b/test/hex_test1.cpp @@ -9,6 +9,7 @@ #include #include +#include #define BOOST_TEST_MAIN #include @@ -42,6 +43,31 @@ void test_to_hex ( const typename String::value_type ** tests ) { } } +template +void test_to_hex_lower ( const typename String::value_type ** tests ) { + for ( const typename String::value_type **p = tests; *p; p++ ) { + String arg, argh, one, two, three, four; + arg.assign ( *p ); + boost::algorithm::hex_lower ( *p, std::back_inserter ( one )); + boost::algorithm::hex_lower ( arg, std::back_inserter ( two )); + boost::algorithm::hex_lower ( arg.begin (), arg.end (), std::back_inserter ( three )); + four = boost::algorithm::hex_lower ( arg ); + BOOST_CHECK ( one == two ); + BOOST_CHECK ( one == three ); + BOOST_CHECK ( one == four ); + argh = one; + one.clear (); two.clear (); three.clear (); four.clear (); + boost::algorithm::unhex ( argh.c_str (), std::back_inserter ( one )); + boost::algorithm::unhex ( argh, std::back_inserter ( two )); + boost::algorithm::unhex ( argh.begin (), argh.end (), std::back_inserter ( three )); + four = boost::algorithm::unhex ( argh ); + BOOST_CHECK ( one == two ); + BOOST_CHECK ( one == three ); + BOOST_CHECK ( one == four ); + BOOST_CHECK ( one == arg ); + } + } + template void test_from_hex_success ( const typename String::value_type ** tests ) { @@ -61,6 +87,11 @@ void test_from_hex_success ( const typename String::value_type ** tests ) { boost::algorithm::hex ( argh, std::back_inserter ( two )); boost::algorithm::hex ( argh.begin (), argh.end (), std::back_inserter ( three )); four = boost::algorithm::hex ( argh ); + boost::algorithm::to_lower( arg ); + boost::algorithm::to_lower( one ); + boost::algorithm::to_lower( two ); + boost::algorithm::to_lower( three ); + boost::algorithm::to_lower( four ); BOOST_CHECK ( one == two ); BOOST_CHECK ( one == three ); BOOST_CHECK ( one == four ); @@ -113,6 +144,7 @@ const wchar_t *tohex_w [] = { const char *fromhex [] = { "20", "2122234556FF", + "2122234556ff", NULL // End of the list }; @@ -120,6 +152,7 @@ const char *fromhex [] = { const wchar_t *fromhex_w [] = { L"00101020", L"2122234556FF3456", + L"2122234556ff3456", NULL // End of the list }; @@ -129,6 +162,8 @@ const char *fromhex_fail [] = { "H", "234", "21222G4556FF", + "h", + "21222g4556ff", NULL // End of the list }; @@ -139,6 +174,8 @@ const wchar_t *fromhex_fail_w [] = { L"H", L"234", L"21222G4556FF", + L"h", + L"21222g4556ff", NULL // End of the list }; @@ -146,10 +183,12 @@ const wchar_t *fromhex_fail_w [] = { BOOST_AUTO_TEST_CASE( test_main ) { test_to_hex ( tohex ); + test_to_hex_lower ( tohex ); test_from_hex_success ( fromhex ); test_from_hex_failure ( fromhex_fail ); test_to_hex ( tohex_w ); + test_to_hex_lower ( tohex_w ); test_from_hex_success ( fromhex_w ); test_from_hex_failure ( fromhex_fail_w ); }