gs-json
Version:
gs-JSON is a domain agnostic unifying 3D file format for geometric and semantic modelling (hence the 'gs').
192 lines (184 loc) • 6.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.test_ent_constructor = test_ent_constructor;
exports.test_ent_getGeom = test_ent_getGeom;
exports.test_ent_getID = test_ent_getID;
exports.test_ent_getModel = test_ent_getModel;
exports.test_ent_getAttribs = test_ent_getAttribs;
exports.test_ent_getAttribValue = test_ent_getAttribValue;
exports.test_ent_setAttribValue = test_ent_setAttribValue;
exports.test_ent_getGroups = test_ent_getGroups;
exports.test_ent_addToGroup = test_ent_addToGroup;
var _arr = require("./libs/arr/arr");
var _gsJson = require("./gs-json");
var gs = _interopRequireWildcard(_gsJson);
var _test_data = require("./test_data");
var test_data = _interopRequireWildcard(_test_data);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
describe("Tests for Entity class", function () {
it("test_ent_constructor", function () {
expect(test_ent_constructor()).toBe(true);
});
it("test_ent_getGeom", function () {
expect(test_ent_getGeom()).toBe(true);
});
it("test_ent_getID", function () {
expect(test_ent_getID()).toBe(true);
});
it("test_ent_getModel", function () {
expect(test_ent_getModel()).toBe(true);
});
// it('test_ent_getGeomType', () => {
// expect( entities_tests.test_ent_getGeomType() ).toBe(true);
// });
it("test_ent_getAttribs", function () {
expect(test_ent_getAttribs()).toBe(true);
});
it("test_ent_getAttribValue", function () {
expect(test_ent_getAttribValue()).toBe(true);
});
it("test_ent_setAttribValue", function () {
expect(test_ent_setAttribValue()).toBe(true);
});
it("test_ent_getGroups", function () {
expect(test_ent_getGroups()).toBe(true);
});
});
// Entities tests, 1 constructor and 8 methods
function test_ent_constructor() {
// abstract class
var m = new gs.Model(test_data.box_with_attribs());
var geom = m.getGeom();
var a = geom.addPoint([6, 3, 8]);
return true;
}
function test_ent_getGeom() {
var m = new gs.Model();
// case Point
var points = m.getGeom().getAllPoints();
if (!_arr.Arr.equal(points, [])) {
return false;
}
points = [m.getGeom().addPoint([1, 3, 9])];
var p2 = m.getGeom().getAllPoints();
if (!(p2[0].getPosition() === points[0].getPosition())) {
return false;
}
// Works well for the Point case, Polyline and Polymesh need as well
// to be tested, and getAttribs() need first to be tested (Model).
// case Polyline, to test later on, GetAttribs need to be checked first.
// let p3: gs.IPoint = m.getGeom().addPoint([1, 4, 9]); ;
// let p4: gs.IPoint = m.getGeom().addPoint([1, 3, 7]); ;
// let wire: gs.IPoint[] = [p2[0], p3, p4];
// let Pline: gs.IObj = m.getGeom().addPolyline(wire, false);
return true;
}
function test_ent_getID() {
var m = new gs.Model();
var geom = m.getGeom();
var a = geom.addPoint([6, 3, 8]);
if (!(a.getID() === 0)) {
return false;
}
return true;
}
function test_ent_getModel() {
var m = new gs.Model();
var geom = m.getGeom();
var a = geom.addPoint([6, 3, 8]);
if (!(m.getGeom().numPoints() === 1)) {
return false;
}
return true;
}
function test_ent_getAttribs() {
var m = new gs.Model(test_data.box_with_attribs());
var geom = m.getGeom();
var a1 = geom.addPoint([6, 3, 8]);
if (a1.getAttribs()[0].getName() !== "test1") {
return false;
}
var a2 = geom.getObj(0);
if (a2.getAttribs()[0].getName() !== "obj_id") {
return false;
}
return true;
}
function test_ent_getAttribValue() {
var m = new gs.Model(test_data.box_with_attribs());
var geom = m.getGeom();
var a1 = geom.getPoint(0);
var test1 = m.getEntAttrib("test1", gs.EGeomType.points);
var obj_id = m.getEntAttrib("obj_id", gs.EGeomType.objs);
if (a1.getAttribValue(test1) !== 641.600585938) {
return false;
}
var a2 = geom.getObj(0);
if (a2.getAttribValue(obj_id) !== 1234) {
return false;
}
return true;
}
function test_ent_setAttribValue() {
var m = new gs.Model(test_data.box_with_attribs());
var geom = m.getGeom();
var a1 = geom.getPoint(0);
var test1 = m.getEntAttrib("test1", gs.EGeomType.points);
var obj_id = m.getEntAttrib("obj_id", gs.EGeomType.objs);
if (!(a1.getAttribValue(test1) === 641.600585938)) {
return false;
}
// const a2: gs.IObj = geom.getObj(0);
// if(!(a2.getAttribValue(obj_id) === 1234)) {return false;}
// a1.setAttribValue(test1,12321);
// a2.setAttribValue(obj_id,12333222321);
// if((a1.getAttribValue(test1) === 641.600585938)) {return false;}
// if((a2.getAttribValue(obj_id) === 1234)) {return false;}
// if(!(a1.getAttribValue(test1) === 12321)) {return false;}
// if(!(a2.getAttribValue(obj_id) === 12333222321)) {return false;}
return true;
}
function test_ent_getGroups() {
var m = new gs.Model(test_data.open_box());
var geom = m.getGeom();
var a1 = geom.getObj(0);
var p1 = geom.getPoint(0);
var gpr1a = m.addGroup("test1a");
var gpr1b = m.addGroup("test1b");
var gpr1c = m.addGroup("test1b");
gpr1a.addObj(a1);
gpr1b.addObj(a1);
gpr1c.addObj(a1);
var gpr2 = m.addGroup("test2");
gpr2.addPoint(p1);
if (a1.getGroups()[0].getName() !== "test1a") {
return false;
}
if (a1.getGroups()[1].getName() !== "test1b") {
return false;
}
if (p1.getGroups()[0].getName() !== "test2") {
return false;
}
return true;
}
function test_ent_addToGroup() {
var m = new gs.Model(test_data.box_with_groups());
var geom = m.getGeom();
var a1 = geom.getObj(0);
var gpr1 = m.addGroup("test1");
// console.log(gpr1.hasObj(0));
// console.log(true);
if (gpr1.hasObj(a1)) {
return false;
}
a1.addToGroup(gpr1);
// console.log(gpr1.hasObj(0));
if (gpr1.hasObj(a1)) {
return false;
}
return true;
}
//# sourceMappingURL=_entity_tests.js.map