39TEST(stdlib_nullifier_tree, test_kv_memory_vs_memory_consistency)
41 constexpr size_t depth = 2;
42 constexpr size_t prefill = 2;
50 std::vector<size_t> indicies((1 << depth) - prefill);
51 std::iota(indicies.begin(), indicies.end(), 0);
56 for (
size_t i = 0; i < indicies.size(); ++i) {
57 size_t idx = indicies[i];
62 for (
size_t i = 0; i < indicies.size(); ++i) {
63 size_t idx = indicies[i];
70TEST(stdlib_nullifier_tree, test_size)
76 EXPECT_EQ(db.size(), 1ULL);
79 db.update_element(30);
80 EXPECT_EQ(db.size(), 2ULL);
83 db.update_element(10);
84 EXPECT_EQ(db.size(), 3ULL);
87 db.update_element(20);
88 EXPECT_EQ(db.size(), 4ULL);
91 db.update_element(20);
92 EXPECT_EQ(db.size(), 4ULL);
95TEST(stdlib_nullifier_tree, test_get_hash_path)
105 db.update_element(VALUES[512]);
109 for (
size_t i = 0; i < 512; ++i) {
111 db.update_element(VALUES[i]);
117TEST(stdlib_nullifier_tree, test_get_hash_path_layers)
123 auto before = db.get_hash_path(1);
124 db.update_element(VALUES[1]);
125 auto after = db.get_hash_path(1);
127 EXPECT_NE(before[0], after[0]);
128 EXPECT_NE(before[1], after[1]);
129 EXPECT_NE(before[2], after[2]);
136 auto before = db.get_hash_path(7);
137 db.update_element(VALUES[1]);
138 auto after = db.get_hash_path(7);
140 EXPECT_EQ(before[0], after[0]);
141 EXPECT_EQ(before[1], after[1]);
142 EXPECT_NE(before[2], after[2]);