data-balanced-tree
Version:
Efficient balanced tree implementation in TypeScript
45 lines • 1.56 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const tape_1 = __importDefault(require("tape"));
const BalancedTree_1 = require("./BalancedTree");
tape_1.default('BalancedTree', t => {
t.test('#insert', t => {
const tree = new BalancedTree_1.BalancedTree((a, b) => a - b);
tree.insert(1);
tree.insert(3);
tree.insert(2);
tree.insert(5);
t.looseEquals(Array.from(tree), [1, 2, 3, 5]);
t.looseEquals(tree.size, 4);
t.looseEquals(tree.depth, 3);
t.end();
});
t.test('#delete', t => {
const tree = new BalancedTree_1.BalancedTree((a, b) => a - b);
tree.insert(1);
tree.insert(3);
tree.insert(2);
tree.insert(5);
tree.delete(2);
t.looseEquals(Array.from(tree), [1, 3, 5]);
t.looseEquals(tree.size, 3);
t.looseEquals(tree.depth, 2);
t.end();
});
t.test('#delete non existing value', t => {
const tree = new BalancedTree_1.BalancedTree((a, b) => a - b);
tree.insert(1);
tree.insert(3);
tree.insert(2);
tree.insert(5);
tree.delete(6);
t.looseEquals(Array.from(tree), [1, 2, 3, 5]);
t.looseEquals(tree.size, 4);
t.looseEquals(tree.depth, 3);
t.end();
});
});
//# sourceMappingURL=BalancedTree.test.js.map