
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
var tape = require("tape"),
utils = require("../build/utils")
vertex = require("../build/vertex");
tape("Vertex(...) should set the expected defaults", function(test) {
var v = new vertex.Vertex(1, 2, null, null, undefined, null);
test.equal(v.x, 1);
test.equal(v.y, 2);
test.equal(v.weight, utils.epsilon);
test.equal(v.z, 4.9999999999);
test.equal(v.index, 0);
test.equal(v.isDummy, false);
test.equal(v.neighbours, null);
test.equal(v.nonClippedPolygon, null);
test.equal(v.polygon, null);
test.equal(v.originalObject, null);
test.end();
});
tape("Vertex(...) should handle weight", function(test) {
var v = new vertex.Vertex(1, 2, null, 0, undefined, null);
test.equal(v.weight, 0);
test.equal(v.z, 5);
v = new vertex.Vertex(1, 2, null, 5, undefined, null);
test.equal(v.weight, 5);
test.equal(v.z, 0);
test.end();
});
tape("Vertex(...) should handle z", function(test) {
var v = new vertex.Vertex(1, 2, 3, null, undefined, null);
test.equal(v.weight, utils.epsilon);
test.equal(v.z, 3);
// z prevails weight
v = new vertex.Vertex(1, 2, 3, 5, undefined, null);
test.equal(v.weight, 5);
test.equal(v.z, 3);
test.end();
});
tape("Vertex(...) should handle originalObject", function(test) {
var datum = {foo: "bar"}
v = new vertex.Vertex(1, 2, null, null, datum, null);
test.equal(v.originalObject, datum);
test.end();
});
tape("Vertex(...) should handle dummy", function(test) {
var v = new vertex.Vertex(1, 2, null, null, undefined, true);
test.equal(v.isDummy, true);
test.end();
});
tape("Vertex.projectZ(...) should compute expected projection", function(test) {
var v = new vertex.Vertex(1, 2, null, null, undefined, null)
projected = v.projectZ(3, 5, 7);
test.equal(projected, 27);
test.end();
});
tape("Vertex.setWeight(...) should recompute weight and z", function(test) {
var v = new vertex.Vertex(1, 2, null, null, undefined, null)
v.setWeight(5);
test.equal(v.weight, 5);
test.equal(v.z, 0);
test.end();
});
tape("Vertex.substract(...) should return expected Vertex", function(test) {
var v0 = new vertex.Vertex(1, 2, 3, null, undefined, null),
v1 = new vertex.Vertex(5, 7, 11, null, undefined, null),
subtracted = v0.subtract(v1);
test.equal(subtracted.x, 4);
test.equal(subtracted.y, 5);
test.equal(subtracted.z, 8);
test.end();
});
tape("Vertex.crossproduct(...) should return expected Vertex", function(test) {
var v0 = new vertex.Vertex(1, 2, 3, null, undefined, null),
v1 = new vertex.Vertex(5, 7, 11, null, undefined, null),
crossed = v0.crossproduct(v1);
test.equal(crossed.x, 1);
test.equal(crossed.y, 4);
test.equal(crossed.z, -3);
test.end();
});
tape("Vertex.equals(...) should detect if it corresponds to its x, y and z", function(test) {
var v0 = new vertex.Vertex(1, 2, 3, null, undefined, null),
v1 = new vertex.Vertex(1, 2, 3, null, undefined, null),
v2 = new vertex.Vertex(1, 2, 4, null, undefined, null);
test.ok(v0.equals(v1));
test.notOk(v0.equals(v2));
test.end();
});