#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); } BOOST_AUTO_TEST_CASE(Random_should_return_different_numbers_on_multiple_calls) { auto a1 = Random(); auto a2 = Random(); auto a3 = Random(); auto a4 = Random(); auto a5 = Random(); auto a6 = Random(); auto a7 = Random(); auto a8 = Random(); auto a9 = Random(); auto a10 = Random(); auto b1 = Random(); auto b2 = Random(); auto b3 = Random(); auto b4 = Random(); auto b5 = Random(); auto b6 = Random(); auto b7 = Random(); auto b8 = Random(); auto b9 = Random(); auto b10 = Random(); BOOST_CHECK(a1 != b1); BOOST_CHECK(a2 != b2); BOOST_CHECK(a3 != b3); BOOST_CHECK(a4 != b4); BOOST_CHECK(a5 != b5); BOOST_CHECK(a6 != b6); BOOST_CHECK(a7 != b7); BOOST_CHECK(a8 != b8); BOOST_CHECK(a9 != b9); BOOST_CHECK(a10 != b10); }