valeri/test/dict.cpp

39 lines
753 B
C++

#include "common.hpp"
#include "die.hpp"
#include "reader.hpp"
#include "test.hpp"
#include "writer.hpp"
StaticArena<64 * 1024 * 1024> arena;
TEST_CASE(dict_insert) {
auto d = DIEX(Dict::create());
d = DIEX(d.insert(1, 2));
d = DIEX(d.insert(1, 3));
d = DIEX(d.insert(3, 3));
d = DIEX(d.insert(0, 4));
d = DIEX(d.insert(0, 5));
d = DIEX(d.insert(2, 6));
DIEX(arena_gc());
auto s = DIEX(write_one(d));
DIEX(arena_gc());
ASSERT_EQUALS(s, "{0 5 1 3 2 6 3 3}");
}
TEST_CASE(dict_read) {
auto v = DIEX(read_one("{}"));
auto s = DIEX(write_one(v));
ASSERT_EQUALS(s, "{}");
v = DIEX(read_one("{1 2 3 4}"));
s = DIEX(write_one(v));
ASSERT_EQUALS(s, "{1 2 3 4}");
auto vv = DIEX(v.get(1));
ASSERT_EQUALS(vv, 2);
}