UNPKG

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
"use strict"; 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