Files
comaps/coding/coding_tests/hex_test.cpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

53 lines
990 B
C++

#include "testing/testing.hpp"
#include "coding/hex.hpp"
#include <cstddef>
#include <cstdint>
#include <random>
#include <string>
using namespace std;
UNIT_TEST(GoldenRecode)
{
string data("\x01\x23\x45\x67\x89\xAB\xCD\xEF");
string hexData("0123456789ABCDEF");
TEST_EQUAL(ToHex(data), hexData, ());
TEST_EQUAL(data, FromHex(hexData), ());
}
UNIT_TEST(RandomRecode)
{
mt19937 rng(0);
for (size_t i = 0; i < 256; ++i)
{
string data(1 + (rng() % 20), 0);
for (size_t j = 0; j < data.size(); ++j)
data[j] = static_cast<char>(rng() % 26) + 'A';
TEST_EQUAL(data, FromHex(ToHex(data)), ());
}
}
UNIT_TEST(EncodeNumber)
{
TEST_EQUAL(NumToHex(uint64_t(0x0123456789ABCDEFULL)),
"0123456789ABCDEF", ());
}
UNIT_TEST(DecodeLowerCaseHex)
{
TEST_EQUAL(FromHex("fe"), "\xfe", ());
}
UNIT_TEST(EncodeEmptyString)
{
TEST_EQUAL(ToHex(string()), "", ());
}
UNIT_TEST(DecodeEmptyString)
{
TEST_EQUAL(FromHex(""), "", ());
}