ModelHandle/test/tests/node_test.js
2021-10-16 11:53:19 +02:00

61 lines
2.0 KiB
JavaScript

var assert = require ('assert');
describe ('Node', function() {
it ('Default Initialization', function () {
let node = new OV.Node ();
assert.strictEqual (node.GetName (), '');
assert.deepStrictEqual (node.GetChildNodes (), []);
assert.deepStrictEqual (node.GetMeshIndices (), []);
});
it ('Set Name', function () {
let node = new OV.Node ();
node.SetName ('New Name');
assert.strictEqual (node.GetName (), 'New Name');
});
it ('Add Mesh Indices', function () {
let node = new OV.Node ();
node.AddMeshIndex (0);
node.AddMeshIndex (4);
node.AddMeshIndex (8);
assert.deepStrictEqual (node.GetMeshIndices (), [0, 4, 8]);
});
it ('Add Child Node', function () {
let node = new OV.Node ();
let child1 = new OV.Node ();
let child2 = new OV.Node ();
child1.SetName ('Child 1');
child2.SetName ('Child 2');
node.AddChildNode (child1);
node.AddChildNode (child2);
assert.strictEqual (node.GetChildNodes ().length, 2);
assert.strictEqual (node.GetChildNodes ()[0].GetName (), 'Child 1');
assert.strictEqual (node.GetChildNodes ()[1].GetName (), 'Child 2');
assert.strictEqual (node.GetChildNodes ()[0].GetParent (), node);
assert.strictEqual (node.GetChildNodes ()[1].GetParent (), node);
});
it ('Recursive Enumeration', function () {
let node = new OV.Node ();
let child1 = new OV.Node ();
let child2 = new OV.Node ();
let child11 = new OV.Node ();
let child12 = new OV.Node ();
node.AddChildNode (child1);
node.AddChildNode (child2);
child1.AddChildNode (child11);
child1.AddChildNode (child12);
let enumerated = [];
node.Enumerate ((child) => {
enumerated.push (child);
});
assert.deepStrictEqual (enumerated, [node, child1, child11, child12, child2]);
});
});