Skip to content

Commit 0edb152

Browse files
committed
Throw error on remove from red-black tree.
1 parent 26d6b78 commit 0edb152

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/data-structures/tree/red-black-tree/RedBlackTree.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ export default class RedBlackTree extends BinarySearchTree {
3232
return insertedNode;
3333
}
3434

35+
/**
36+
* @param {*} value
37+
* @return {BinarySearchTreeNode}
38+
*/
39+
remove(value) {
40+
throw new Error(`Can't remove ${value}. Remove method is not implemented yet`);
41+
}
42+
3543
/**
3644
* @param {BinarySearchTreeNode} node
3745
*/

src/data-structures/tree/red-black-tree/__test__/RedBlackTree.test.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,4 +311,14 @@ describe('RedBlackTree', () => {
311311
expect(tree.toString()).toBe('15,17,19,20,25');
312312
expect(tree.root.height).toBe(2);
313313
});
314+
315+
it('should throw an error when trying to remove node', () => {
316+
const removeNodeFromRedBlackTree = () => {
317+
const tree = new RedBlackTree();
318+
319+
tree.remove(1);
320+
};
321+
322+
expect(removeNodeFromRedBlackTree).toThrowError();
323+
});
314324
});

0 commit comments

Comments
 (0)