fn testOrderedArrayAndTreapConsistency(array: []u64, treap: *TestTreap) !void array: []u64treap: *TestTreap614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635fn testOrderedArrayAndTreapConsistency(array: []u64, treap: *TestTreap) !void {
var i: usize = 0;
while (i < array.len) : (i += 1) {
const value = array[i];
const entry = treap.getEntryFor(value);
try testing.expect(entry.node != null);
const node = entry.node.?;
try testing.expectEqual(value, node.key);
if (i == 0) {
try testing.expectEqual(node.prev(), null);
} else {
try testing.expectEqual(node.prev(), treap.getEntryFor(array[i - 1]).node);
}
if (i + 1 == array.len) {
try testing.expectEqual(node.next(), null);
} else {
try testing.expectEqual(node.next(), treap.getEntryFor(array[i + 1]).node);
}
}
}