Create getters and setters for meta data in binary tree node.

This commit is contained in:
Oleksii Trekhleb
2018-05-31 07:37:31 +03:00
parent 02d7abcf65
commit e572de63cb
2 changed files with 43 additions and 1 deletions

View File

@@ -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');
});
});