FLUJOS/VISUALIZACION/node_modules/tree/test/tree.js
2025-11-07 00:06:12 +01:00

72 lines
No EOL
1.6 KiB
JavaScript
Executable file

module('Tree', {
setup: function() {
this.branch = new Tree.Branch([
new Tree.Node(),
new Tree.Node(),
new Tree.Node()
]);
this.node = new Tree.Node(this.branch);
this.tree = new Tree.Root(
new Tree.Branch([
new Tree.Node(new Tree.Branch([
new Tree.Node(),
new Tree.Node()
]), {}),
new Tree.Node(new Tree.Branch([
new Tree.Node()
]), {}),
new Tree.Node(new Tree.Branch([
new Tree.Node(),
new Tree.Node(),
this.node,
new Tree.Node()
]), {})
])
);
},
teardown: function() {
delete this.branch;
delete this.node;
delete this.tree;
}
});
test('find node', function() {
var node = new Tree.Node();
equals(this.tree.find(this.node.id), this.node);
equals(this.tree.find(node.id), null);
});
test('insert node', function() {
var node = new Tree.Node();
this.tree.insert(node, this.node.id);
equals(this.node.children.size(), 4);
equals(_.last(this.node.children.nodes), node);
equals(node.branch, this.branch);
equals(this.tree.find(node.id), node);
});
test('insert node at index', function() {
var node = new Tree.Node();
this.tree.insert(node, this.node.id, 1);
equals(this.node.children.size(), 4);
equals(this.node.children.nodes[1], node);
equals(node.branch, this.branch);
equals(this.tree.find(node.id), node);
});
test('set index', function() {
this.tree.setIndex(this.node.id, 1);
equals(this.node.branch.size(), 4);
equals(this.node.branch.nodes[1], this.node);
equals(this.tree.find(this.node.id), this.node);
});