Skip to content
This repository was archived by the owner on Nov 12, 2025. It is now read-only.

Commit d78f97f

Browse files
committed
fix: bring back Depth helpers test
1 parent b4c39e5 commit d78f97f

File tree

1 file changed

+29
-33
lines changed

1 file changed

+29
-33
lines changed

src/persistent_merkle_tree/node_test.zig

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -206,39 +206,35 @@ test "setNodes for checkpoint tree" {
206206
try std.testing.expectEqual(new_root_node, out[1]);
207207
}
208208

209-
// test "Depth helpers - round-trip setNodesAtDepth / getNodesAtDepth" {
210-
// std.debug.print("@@@ roundtrip test START setNodesAtDepth / getNodesAtDepth \n", .{});
211-
// const allocator = std.testing.allocator;
212-
// var pool = try Node.Pool.init(allocator, 64);
213-
// defer pool.deinit();
214-
// const p = &pool;
215-
216-
// // A ‘blank’ root: branch of two depth‑1 zero‑nodes ensures proper navigation
217-
// // const root = try pool.createBranch(@enumFromInt(1), @enumFromInt(1), true);
218-
// const root = try pool.createBranch(@enumFromInt(2), @enumFromInt(2), true);
219-
220-
// // Four leaves to be inserted at depth 2 (gindexes 4-7)
221-
// var leaves: [8]Node.Id = undefined;
222-
// for (0..8) |i| leaves[i] = try pool.createLeafFromUint(@intCast(i + 100), true);
223-
224-
// const indices = [_]usize{ 0, 1, 2, 3, 4, 5, 6, 7 };
225-
// const depth: u8 = 3;
226-
227-
// const new_root = try root.setNodesAtDepth(p, depth, &indices, &leaves);
228-
229-
// // Verify individual look‑ups
230-
// for (indices, 0..) |idx, i| {
231-
// const g = Gindex.fromDepth(depth, idx);
232-
// try std.testing.expectEqual(leaves[i], try new_root.getNode(p, g));
233-
// }
234-
235-
// // Verify bulk retrieval helper
236-
// var out: [8]Node.Id = undefined;
237-
// try new_root.getNodesAtDepth(p, depth, 0, &out);
238-
// for (0..8) |i| try std.testing.expectEqual(leaves[i], out[i]);
239-
240-
// std.debug.print("@@@ roundtrip test END setNodesAtDepth / getNodesAtDepth\n", .{});
241-
// }
209+
test "Depth helpers - round-trip setNodesAtDepth / getNodesAtDepth" {
210+
const allocator = std.testing.allocator;
211+
var pool = try Node.Pool.init(allocator, 64);
212+
defer pool.deinit();
213+
const p = &pool;
214+
215+
// A ‘blank’ root: branch of two depth‑1 zero‑nodes ensures proper navigation
216+
const root = try pool.createBranch(@enumFromInt(1), @enumFromInt(1), true);
217+
218+
// Four leaves to be inserted at depth 2 (gindexes 4-7)
219+
var leaves: [4]Node.Id = undefined;
220+
for (0..4) |i| leaves[i] = try pool.createLeafFromUint(@intCast(i + 100), true);
221+
222+
const indices = [_]usize{ 0, 1, 2, 3 };
223+
const depth: u8 = 2;
224+
225+
const new_root = try root.setNodesAtDepth(p, depth, &indices, &leaves);
226+
227+
// Verify individual look‑ups
228+
for (indices, 0..) |idx, i| {
229+
const g = Gindex.fromDepth(depth, idx);
230+
try std.testing.expectEqual(leaves[i], try new_root.getNode(p, g));
231+
}
232+
233+
// Verify bulk retrieval helper
234+
var out: [4]Node.Id = undefined;
235+
try new_root.getNodesAtDepth(p, depth, 0, &out);
236+
for (0..4) |i| try std.testing.expectEqual(leaves[i], out[i]);
237+
}
242238

243239
const TestCase = struct {
244240
depth: u6,

0 commit comments

Comments
 (0)