Files
comaps/coding/coding_tests/mem_file_reader_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

49 lines
1.4 KiB
C++

#include "testing/testing.hpp"
#include "coding/reader.hpp"
#include "base/macros.hpp"
UNIT_TEST(MemReaderSimple)
{
char constexpr data[] = "123";
size_t constexpr n = ARRAY_SIZE(data);
MemReader const memReader(data, n);
for (size_t i = 0; i < n; ++i)
{
uint8_t c[4] = {0xff, 0xff, 0xff, 0xff};
ReadFromPos(memReader, i, c, n - i);
for (size_t j = 0; j < n; ++j)
TEST_EQUAL(c[j], i + j < n ? data[i + j] : uint8_t(0xff), (i, j, n));
}
MemReader const subReader = memReader.SubReader(1, n - 2);
for (size_t i = 1; i < n - 1; ++i)
{
uint8_t c[4] = {0xff, 0xff, 0xff, 0xff};
ReadFromPos(subReader, i, c, n - i - 2);
for (size_t j = 0; j < n; ++j)
TEST_EQUAL(c[j], i + j < n - 2 ? data[i + j + 1] : uint8_t(0xff), (i, j, n));
}
}
UNIT_TEST(MemReaderStringView)
{
std::string_view constexpr data = "1234567";
MemReader const memReader(data);
size_t constexpr n = data.size();
for (size_t i = 0; i < n; ++i)
{
uint8_t c[n] = {0};
ReadFromPos(memReader, i, c, n - i);
for (size_t j = 0; j < n; ++j)
TEST_EQUAL(c[j], i + j < n ? data[i + j] : uint8_t{0}, (i, j, n));
}
MemReader const subReader = memReader.SubReader(1, n - 2);
for (size_t i = 1; i < n - 1; ++i)
{
uint8_t c[n] = {0};
ReadFromPos(subReader, i, c, n - i - 2);
for (size_t j = 0; j < n; ++j)
TEST_EQUAL(c[j], i + j < n - 2 ? data[i + j + 1] : uint8_t{0}, (i, j, n));
}
}