mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2026-03-13 08:51:02 +08:00
Create getters and setters for meta data in binary tree node.
This commit is contained in:
@@ -204,4 +204,23 @@ describe('BinaryTreeNode', () => {
|
||||
expect(redNode.meta.color).toBe('red');
|
||||
expect(blackNode.meta.color).toBe('black');
|
||||
});
|
||||
|
||||
it('should be possible to use get/set methods to change node meta information', () => {
|
||||
const redNode = new BinaryTreeNode(1, { color: 'red' });
|
||||
const blackNode = new BinaryTreeNode(2, { color: 'black' });
|
||||
|
||||
expect(redNode.getMeta('color')).toBe('red');
|
||||
expect(blackNode.getMeta('color')).toBe('black');
|
||||
|
||||
redNode.setMeta('size', 8);
|
||||
|
||||
expect(redNode.getMeta('size')).toBe(8);
|
||||
expect(redNode.getMeta('color')).toBe('red');
|
||||
expect(redNode.getMeta('not_existing')).toBeNull();
|
||||
|
||||
// It must also be possible to override meta information.
|
||||
redNode.setMeta('color', 'blue');
|
||||
expect(redNode.getMeta('size')).toBe(8);
|
||||
expect(redNode.getMeta('color')).toBe('blue');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user