Files
UpAndDown/tests/helpers/helpers_TEST.cpp
T
2025-06-12 08:47:53 +03:00

55 lines
1.3 KiB
C++

#ifdef WIN32
#include <sdkddkver.h>
#endif
#define BOOST_TEST_MODULE Helpers
#include "./../../src/helpers/helpers.h"
#include <boost/test/included/unit_test.hpp>
#include <cstdint>
#include <cstdlib>
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);
}