Skip to content

Commit e19a654

Browse files
🧪 test: Cover simpler inputs in RedBlackTree::remove test.
1 parent cb6f5cb commit e19a654

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

test/src/RedBlackTree/remove.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,8 @@ import {bgRed as red, bgBlack as black} from 'chalk';
2222

2323
const debug = _debug({red, black});
2424

25-
test('RedBlackTree::remove', (t) => {
26-
const n = 10000;
27-
const reference = list(range(n));
28-
shuffle(reference, 0, n);
29-
30-
// Const reference = [3,0,2,4,1];
31-
// const n = reference.length ;
25+
const macro = (t, reference) => {
26+
const n = reference.length;
3227

3328
const tree = RedBlackTree.from(increasing, reference);
3429
t.deepEqual(
@@ -37,8 +32,6 @@ test('RedBlackTree::remove', (t) => {
3732
'tree contains n items',
3833
);
3934

40-
// Console.log(reference);
41-
4235
const m = (n / 2) | 0;
4336
for (const i of range(m)) {
4437
const x = reference[i];
@@ -79,7 +72,24 @@ test('RedBlackTree::remove', (t) => {
7972
}
8073

8174
t.deepEqual(list(tree), [], 'tree is empty');
82-
});
75+
};
76+
77+
macro.title = (title, reference) =>
78+
title ||
79+
'Test RedBlackTree::remove with ' +
80+
(reference.length >= 10
81+
? `${reference.length} elements`
82+
: JSON.stringify(reference));
83+
84+
const n = 10000;
85+
const huge_list = list(range(n));
86+
shuffle(huge_list, 0, n);
87+
test(macro, huge_list);
88+
89+
test(macro, [5, 3, 2, 6, 7, 8, 4, 1]);
90+
test(macro, [5, 3, 2, 6, 7, 8, 4]);
91+
test(macro, [5, 3, 2, 6, 7, 8]);
92+
test(macro, [5, 3, 2, 6, 7]);
8393

8494
test('delete root with right child', (t) => {
8595
const tree = new RedBlackTree(increasing);

0 commit comments

Comments
 (0)