MCPcopy Create free account
hub / github.com/comaps/comaps / TestWithData

Function TestWithData

libs/coding/coding_tests/fixed_bits_ddvector_test.cpp:16–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14{
15template <size_t Bits>
16void TestWithData(vector<uint32_t> const & lst)
17{
18 using TVector = FixedBitsDDVector<Bits, MemReader>;
19 using TBuffer = vector<uint8_t>;
20 using TWriter = MemWriter<TBuffer>;
21
22 TBuffer buf;
23 {
24 TWriter writer(buf);
25 typename TVector::template Builder<TWriter> builder(writer);
26
27 uint32_t optCount = 0;
28 uint32_t const optBound = (1 << Bits) - 2;
29
30 for (uint32_t v : lst)
31 {
32 if (v < optBound)
33 ++optCount;
34
35 builder.PushBack(v);
36 }
37
38 pair<uint32_t, uint32_t> expected(optCount, lst.size());
39 TEST_EQUAL(builder.GetCount(), expected, ());
40 }
41
42 MemReader reader(buf.data(), buf.size());
43 auto const vec = TVector::Create(reader);
44
45 uint32_t i = 0;
46 for (uint32_t actual : lst)
47 {
48 uint32_t expected;
49 TEST(vec->Get(i, expected), ());
50 TEST_EQUAL(expected, actual, ());
51 ++i;
52 }
53}
54} // namespace
55
56UNIT_TEST(FixedBitsDDVector_Smoke)

Callers

nothing calls this directly

Calls 7

CreateFunction · 0.85
TESTFunction · 0.85
PushBackMethod · 0.45
sizeMethod · 0.45
GetCountMethod · 0.45
dataMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected