Files
UpAndDown/tests/helpers/helpers_TEST.cpp

91 lines
2.1 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);
}
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);
}