#ifdef WIN32 #include #endif #define BOOST_TEST_MODULE Helpers #include "./../../src/helpers/helpers.h" #include #include #include using namespace boost; using namespace std; using namespace uad; BOOST_AUTO_TEST_CASE(ToHex_should_cast_single_byte_to_hex_string) { byte a1 = byte(0); byte a2 = byte(1); byte a3 = byte(2); byte a4 = byte(3); byte a5 = byte(4); byte a6 = byte(5); byte a7 = byte(6); byte a8 = byte(15); byte a9 = byte(64); byte a10 = byte(97); byte a11 = byte(127); byte a12 = byte(255); BOOST_CHECK_EQUAL(ToHex(&a1, 1), "00"s); BOOST_CHECK_EQUAL(ToHex(&a2, 1), "01"s); BOOST_CHECK_EQUAL(ToHex(&a3, 1), "02"s); BOOST_CHECK_EQUAL(ToHex(&a4, 1), "03"s); BOOST_CHECK_EQUAL(ToHex(&a5, 1), "04"s); BOOST_CHECK_EQUAL(ToHex(&a6, 1), "05"s); BOOST_CHECK_EQUAL(ToHex(&a7, 1), "06"s); BOOST_CHECK_EQUAL(ToHex(&a8, 1), "0F"s); BOOST_CHECK_EQUAL(ToHex(&a9, 1), "40"s); BOOST_CHECK_EQUAL(ToHex(&a10, 1), "61"s); BOOST_CHECK_EQUAL(ToHex(&a11, 1), "7F"s); BOOST_CHECK_EQUAL(ToHex(&a12, 1), "FF"s); } BOOST_AUTO_TEST_CASE(ToHex_should_return_empty_string_if_no_arr_or_no_length) { byte a1 = byte(0); BOOST_CHECK_EQUAL(ToHex(nullptr, 0), ""s); BOOST_CHECK_EQUAL(ToHex(&a1, 0), ""s); BOOST_CHECK_EQUAL(ToHex(nullptr, 1), ""s); }