Skip to content

Commit

Permalink
test: get_sibling_path
Browse files Browse the repository at this point in the history
  • Loading branch information
benesjan committed Jul 6, 2023
1 parent 44887ff commit 31d470b
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,28 @@ TEST(stdlib_merkle_tree, test_get_hash_path)
EXPECT_EQ(db.get_hash_path(512), memdb.get_hash_path(512));
}

TEST(stdlib_merkle_tree, test_get_sibling_path)
{
MemoryTree memdb(10);

MemoryStore store;
auto db = MerkleTree(store, 10);

EXPECT_EQ(memdb.get_sibling_path(512), db.get_sibling_path(512));

memdb.update_element(512, VALUES[512]);
db.update_element(512, VALUES[512]);

EXPECT_EQ(db.get_sibling_path(512), memdb.get_sibling_path(512));

for (size_t i = 0; i < 1024; ++i) {
memdb.update_element(i, VALUES[i]);
db.update_element(i, VALUES[i]);
}

EXPECT_EQ(db.get_sibling_path(512), memdb.get_sibling_path(512));
}

TEST(stdlib_merkle_tree, test_get_hash_path_layers)
{
{
Expand Down Expand Up @@ -133,4 +155,36 @@ TEST(stdlib_merkle_tree, test_get_hash_path_layers)
EXPECT_NE(before[2], after[2]);
}
}

TEST(stdlib_merkle_tree, test_get_sibling_path_layers)
{
{
MemoryStore store;
auto db = MerkleTree(store, 3);

auto before = db.get_sibling_path(1);
db.update_element(0, VALUES[1]);
auto after = db.get_sibling_path(1);

EXPECT_NE(before[0], after[0]);
EXPECT_EQ(before[1], after[1]);
EXPECT_EQ(before[2], after[2]);
}

{
MemoryStore store;
auto db = MerkleTree(store, 3);

auto before = db.get_sibling_path(7);
db.update_element(0x0, VALUES[1]);
auto after = db.get_sibling_path(7);

info("before: ", before[0], " ", before[1], " ", before[2]);
info("after: ", after[0], " ", after[1], " ", after[2]);

EXPECT_EQ(before[0], after[0]);
EXPECT_EQ(before[1], after[1]);
EXPECT_NE(before[2], after[2]);
}
}
} // namespace proof_system::test_stdlib_merkle_tree

0 comments on commit 31d470b

Please sign in to comment.