2024-08-01 21:45:16 +00:00
|
|
|
#include "common.hpp"
|
2024-08-01 17:56:38 +00:00
|
|
|
#include "die.hpp"
|
2024-08-03 12:43:59 +00:00
|
|
|
#include "reader.hpp"
|
2024-08-01 17:56:38 +00:00
|
|
|
#include "test.hpp"
|
2024-08-01 21:45:16 +00:00
|
|
|
#include "writer.hpp"
|
2024-08-01 17:56:38 +00:00
|
|
|
|
2024-08-01 21:45:16 +00:00
|
|
|
StaticArena<64 * 1024 * 1024> arena;
|
|
|
|
|
|
|
|
TEST_CASE(dict_insert) {
|
2024-08-09 22:45:06 +00:00
|
|
|
auto d = DIEX(Dict::create());
|
2024-08-01 21:45:16 +00:00
|
|
|
|
2024-08-09 22:45:06 +00:00
|
|
|
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));
|
2024-08-01 21:45:16 +00:00
|
|
|
|
2024-08-09 22:45:06 +00:00
|
|
|
DIEX(arena_gc());
|
2024-08-03 01:54:53 +00:00
|
|
|
|
2024-08-09 22:45:06 +00:00
|
|
|
auto s = DIEX(write_one(d));
|
2024-08-01 21:45:16 +00:00
|
|
|
|
2024-08-09 22:45:06 +00:00
|
|
|
DIEX(arena_gc());
|
2024-08-03 01:54:53 +00:00
|
|
|
|
2024-08-02 22:27:36 +00:00
|
|
|
ASSERT_EQUALS(s, "{0 5 1 3 2 6 3 3}");
|
2024-08-01 21:45:16 +00:00
|
|
|
}
|
2024-08-03 12:43:59 +00:00
|
|
|
|
|
|
|
TEST_CASE(dict_read) {
|
2024-08-09 22:45:06 +00:00
|
|
|
auto v = DIEX(read_one("{}"));
|
|
|
|
auto s = DIEX(write_one(v));
|
2024-08-03 15:02:09 +00:00
|
|
|
ASSERT_EQUALS(s, "{}");
|
|
|
|
|
2024-08-09 22:45:06 +00:00
|
|
|
v = DIEX(read_one("{1 2 3 4}"));
|
|
|
|
s = DIEX(write_one(v));
|
2024-08-03 12:43:59 +00:00
|
|
|
ASSERT_EQUALS(s, "{1 2 3 4}");
|
2024-08-03 17:53:14 +00:00
|
|
|
|
2024-08-09 22:45:06 +00:00
|
|
|
auto vv = DIEX(v.get(1));
|
2024-08-03 17:53:14 +00:00
|
|
|
ASSERT_EQUALS(vv, 2);
|
2024-08-03 12:43:59 +00:00
|
|
|
}
|