gs-json
Version:
gs-JSON is a domain agnostic unifying 3D file format for geometric and semantic modelling (hence the 'gs').
465 lines (457 loc) • 16.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.test_Groups_constructor = test_Groups_constructor;
exports.test_Groups_getName = test_Groups_getName;
exports.test_Groups_setName = test_Groups_setName;
exports.test_Groups_getParentGroup = test_Groups_getParentGroup;
exports.test_Groups_getChildGroups = test_Groups_getChildGroups;
exports.test_Groups_setParentGroup = test_Groups_setParentGroup;
exports.test_Groups_removeParentGroup = test_Groups_removeParentGroup;
exports.test_Groups_getObjIDs = test_Groups_getObjIDs;
exports.test_Groups_addObj = test_Groups_addObj;
exports.test_Groups_addObjs = test_Groups_addObjs;
exports.test_Groups_removeObj = test_Groups_removeObj;
exports.test_Groups_removeObjs = test_Groups_removeObjs;
exports.test_Groups_getTopos = test_Groups_getTopos;
exports.test_Groups_addTopo = test_Groups_addTopo;
exports.test_Groups_addTopos = test_Groups_addTopos;
exports.test_Groups_removeTopo = test_Groups_removeTopo;
exports.test_Groups_removeTopos = test_Groups_removeTopos;
exports.test_Groups_getPointIDs = test_Groups_getPointIDs;
exports.test_Groups_addPoint = test_Groups_addPoint;
exports.test_Groups_addPoints = test_Groups_addPoints;
exports.test_Groups_removePoint = test_Groups_removePoint;
exports.test_Groups_removePoints = test_Groups_removePoints;
exports.test_Groups_getProps = test_Groups_getProps;
exports.test_Groups_setProps = test_Groups_setProps;
exports.test_Groups_toJson = test_Groups_toJson;
var _arr = require("./libs/arr/arr");
var _gsJson = require("./gs-json");
var gs = _interopRequireWildcard(_gsJson);
var _test_data = require("./test_data");
var td = _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 Group class", function () {
it("test_Groups_constructor", function () {
expect(test_Groups_constructor()).toBe(true);
});
it("test_Groups_getName", function () {
expect(test_Groups_getName()).toBe(true);
});
it("test_Groups_setName", function () {
expect(test_Groups_setName()).toBe(true);
});
it("test_Groups_getParentGroup", function () {
expect(test_Groups_getParentGroup()).toBe(true);
});
it("test_Groups_getChildGroups", function () {
expect(test_Groups_getChildGroups()).toBe(true);
});
it("test_Groups_setParentGroup", function () {
expect(test_Groups_setParentGroup()).toBe(true);
});
it("test_Groups_removeParentGroup", function () {
expect(test_Groups_removeParentGroup()).toBe(true);
});
it("test_Groups_getObjIDs", function () {
expect(test_Groups_getObjIDs()).toBe(true);
});
it("test_Groups_addObj", function () {
expect(test_Groups_addObj()).toBe(true);
});
it("test_Groups_addObjs", function () {
expect(test_Groups_addObjs()).toBe(true);
});
it("test_Groups_removeObj", function () {
expect(test_Groups_removeObj()).toBe(true);
});
it("test_Groups_removeObjs", function () {
expect(test_Groups_removeObjs()).toBe(true);
});
it("test_Groups_getTopos", function () {
expect(test_Groups_getTopos()).toBe(true);
});
it("test_Groups_addTopo", function () {
expect(test_Groups_addTopo()).toBe(true);
});
it("test_Groups_addTopos", function () {
expect(test_Groups_addTopos()).toBe(true);
});
it("test_Groups_removeTopo", function () {
expect(test_Groups_removeTopo()).toBe(true);
});
it("test_Groups_removeTopos", function () {
expect(test_Groups_removeTopos()).toBe(true);
});
it("test_Groups_getPointIDs", function () {
expect(test_Groups_getPointIDs()).toBe(true);
});
it("test_Groups_addPoint", function () {
expect(test_Groups_addPoint()).toBe(true);
});
it("test_Groups_addPoints", function () {
expect(test_Groups_addPoints()).toBe(true);
});
it("test_Groups_removePoint", function () {
expect(test_Groups_removePoint()).toBe(true);
});
it("test_Groups_removePoints", function () {
expect(test_Groups_removePoints()).toBe(true);
});
it("test_Groups_getPropeties", function () {
expect(test_Groups_getProps()).toBe(true);
});
it("test_Groups_setPropeties", function () {
expect(test_Groups_setProps()).toBe(true);
});
});
// Testing methods the Groups Class, composed of 1 constructor and 17 methods
function test_Groups_constructor() {
var m = new gs.Model(td.box_with_groups());
return true;
}
function test_Groups_getName() {
var m = new gs.Model();
var grp = m.addGroup("test");
if (grp.getName() !== "test") {
return false;
}
return true;
}
function test_Groups_setName() {
var m = new gs.Model();
var grp = m.addGroup("test1");
grp.setName("test2");
if (grp.getName() !== "test2") {
return false;
}
// if (m.getGroup("test2").getName() !== "test2") {return false; }
return true;
}
function test_Groups_getParentGroup() {
var m = new gs.Model();
var grp1 = m.addGroup("test1");
var grp2 = m.addGroup("test2", grp1);
// if (grp2.getParentGroup() !== "test1") {return false; }
// const grp3: gs.IGroup = m.addGroup("test3");
// const grp4: gs.IGroup = m.addGroup("test4", grp1);
// if (grp1.getParentGroup() !== null) {return false; }
// if (grp2.getParentGroup() !== "test1") {return false; }
// if (grp3.getParentGroup() !== null) {return false; }
// if (grp4.getParentGroup() !== "test1") {return false; }
return true;
}
function test_Groups_getChildGroups() {
var m = new gs.Model();
var grp1 = m.addGroup("test1");
var grp2 = m.addGroup("test2", grp1);
var grp3 = m.addGroup("test3");
var grp4 = m.addGroup("test4", grp1);
var grp1_children = grp1.getChildGroups();
if (grp1_children[0].getName() !== "test2") {
return false;
}
if (grp1_children[1].getName() !== "test4") {
return false;
}
if (!_arr.Arr.equal(grp2.getChildGroups(), [])) {
return false;
}
if (!_arr.Arr.equal(grp3.getChildGroups(), [])) {
return false;
}
if (!_arr.Arr.equal(grp4.getChildGroups(), [])) {
return false;
}
return true;
}
function test_Groups_setParentGroup() {
var m = new gs.Model();
var grp1 = m.addGroup("test1");
var grp2 = m.addGroup("test2");
// grp2.setParentGroup("test1");
// if (grp2.getParentGroup() !== "test1") {return false; }
return true;
}
function test_Groups_removeParentGroup() {
var m = new gs.Model();
var grp1 = m.addGroup("test1");
var grp2 = m.addGroup("test2");
// if (grp2.getParentGroup() !== null) {return false; }
// grp2.setParentGroup("test1");
// if (grp2.getParentGroup() !== "test1") {return false; }
// grp2.setParentGroup("test2");
// if (grp2.getParentGroup() !== "test2") {return false; }
// grp2.removeParentGroup();
// if (grp2.getParentGroup() !== null) {return false; }
return true;
}
function test_Groups_getObjIDs() {
var m = new gs.Model();
var grp = m.addGroup("Group1");
// grp.addObjs([4, 2, 9, 8]);
// if (!Arr.equal([4, 2, 9, 8], grp.getObjIDs())) {return false;}
return true;
}
function test_Groups_addObj() {
var m = new gs.Model();
var grp = m.addGroup("Group1");
// if (!Arr.equal([], grp.getObjIDs())) {return false;}
// grp.addObj(4);
// if (!Arr.equal([4], grp.getObjIDs())) {return false;}
// grp.addObj(2);
// if (!Arr.equal([4, 2], grp.getObjIDs())) {return false;}
// grp.addObj(9);
// if (!Arr.equal([4, 2, 9], grp.getObjIDs())) {return false;}
// grp.addObj(8);
// if (!Arr.equal([4, 2, 9, 8], grp.getObjIDs())) {return false;}
// grp.addObj(8);
// grp.addObj(8);
// grp.addObj(8);
return true;
}
function test_Groups_addObjs() {
var m = new gs.Model();
var grp = m.addGroup("Group1");
// if (!Arr.equal([], grp.getObjIDs())) {return false;}
// grp.addObj(4);
// if (!Arr.equal([4], grp.getObjIDs())) {return false;}
// grp.addObjs([2, 9, 8]);
// if (!Arr.equal([4, 2, 9, 8], grp.getObjIDs())) {return false;}
return true;
}
function test_Groups_removeObj() {
var m = new gs.Model();
var grp = m.addGroup("Group1");
// if (!Arr.equal([], grp.getObjIDs())) {return false;}
// grp.addObjs([4, 2, 9, 8]);
// if (!Arr.equal([4, 2, 9, 8], grp.getObjIDs())) {return false;}
// grp.removeObj(2);
// if (!Arr.equal([4, 9, 8], grp.getObjIDs())) {return false;}
// grp.removeObj(9);
// if (!Arr.equal([4, 8], grp.getObjIDs())) {return false;}
return true;
}
function test_Groups_removeObjs() {
var m = new gs.Model();
var grp = m.addGroup("Group1");
// if (!Arr.equal([], grp.getObjIDs())) {return false;}
// grp.addObjs([4, 2, 9, 8]);
// if (!Arr.equal([4, 2, 9, 8], grp.getObjIDs())) {return false;}
// grp.removeObjs([4, 9]);
// if (!Arr.equal([2, 8], grp.getObjIDs())) {return false;}
return true;
}
function test_Groups_getTopos() {
var m = new gs.Model(td.open_box());
var g1 = m.addGroup("Box");
var g2 = m.addGroup("Box2");
if (!_arr.Arr.equal(g1.getTopos(), [])) {
return false;
}
g1.addTopo(m.getGeom().getObj(0).getFaces()[0]);
if (_arr.Arr.equal(g1.getTopos(), [])) {
return false;
}
if (!_arr.Arr.equal(g2.getTopos(), [])) {
return false;
}
g2.addTopo(m.getGeom().getObj(0).getWires()[0]);
if (_arr.Arr.equal(g2.getTopos(), [])) {
return false;
}
return true;
}
function test_Groups_addTopo() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Group");
if (!_arr.Arr.equal(g.getTopos(), [])) {
return false;
}
g.addTopo(m.getGeom().getObj(0).getFaces()[0]);
if (_arr.Arr.equal(g.getTopos(), [])) {
return false;
}
return true;
}
function test_Groups_addTopos() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
if (!_arr.Arr.equal(g.getTopos(), [])) {
return false;
}
var f1 = m.getGeom().getObj(0).getFaces()[0];
var f2 = m.getGeom().getObj(0).getFaces()[1];
var f3 = m.getGeom().getObj(0).getFaces()[2];
var w1 = m.getGeom().getObj(0).getWires()[0];
g.addTopos([f1]);
if (!g.hasTopo(f1) || g.hasTopo(f2) || g.hasTopo(f3) || g.hasTopo(w1)) {
return false;
}
g.addTopos([f2, f3, w1]);
if (!g.hasTopo(f1) || !g.hasTopo(f2) || !g.hasTopo(f3) || !g.hasTopo(w1)) {
return false;
}
return true;
}
function test_Groups_removeTopo() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
var f1 = m.getGeom().getObj(0).getFaces()[0];
var f2 = m.getGeom().getObj(0).getFaces()[1];
var f3 = m.getGeom().getObj(0).getFaces()[2];
var w1 = m.getGeom().getObj(0).getWires()[0];
if (!_arr.Arr.equal(g.getTopos(), [])) {
return false;
}
g.addTopos([f1, f2, f3, w1]);
if (!g.hasTopo(f1) || !g.hasTopo(f2) || !g.hasTopo(f3) || !g.hasTopo(w1)) {
return false;
}
g.removeTopo(f1);
if (g.hasTopo(f1) || !g.hasTopo(f2) || !g.hasTopo(f3) || !g.hasTopo(w1)) {
return false;
}
return true;
}
function test_Groups_removeTopos() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
var f1 = m.getGeom().getObj(0).getFaces()[0];
var f2 = m.getGeom().getObj(0).getFaces()[1];
var f3 = m.getGeom().getObj(0).getFaces()[2];
var w1 = m.getGeom().getObj(0).getWires()[0];
if (!_arr.Arr.equal(g.getTopos(), [])) {
return false;
}
g.addTopos([f1, f2, f3, w1]);
if (!g.hasTopo(f1) || !g.hasTopo(f2) || !g.hasTopo(f3) || !g.hasTopo(w1)) {
return false;
}
g.removeTopos([f2, f3, w1]);
if (!g.hasTopo(f1) || g.hasTopo(f2) || g.hasTopo(f3) || g.hasTopo(w1)) {
return false;
}
return true;
}
function test_Groups_getPointIDs() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
// g.addPoints([0, 2, 4]);
// if (g.getPointIDs()[1] !== 2) {return false; }
return true;
}
function test_Groups_addPoint() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
var point = m.getGeom().addPoint([11, 22, 33]);
// g.addPoint(point.getID());
// if (!(m.getGeom().numPoints() - g.getPointIDs()[0] === 1)) {return false; }
return true;
}
function test_Groups_addPoints() {
var m = new gs.Model(td.open_box());
var geom = m.getGeom();
var g1 = m.addGroup("Box1");
var point1 = geom.addPoint([11, 22, 36]);
var point2 = geom.addPoint([12, 22, 23]);
var point3 = geom.addPoint([14, 32, 33]);
g1.addPoints([point2, point1, point3]);
if (g1.getPoints().length !== 3) {
return false;
}
// test large numbers of points
var g2 = m.addGroup("Box2");
g2.addPoints([point2, point2, point2]);
if (g2.getPoints().length !== 1) {
return false;
}
for (var i = 0; i < 100; i++) {
g2.addPoint(point2);
}
if (g2.getPoints().length !== 1) {
return false;
}
// test adding lists
var g3 = m.addGroup("Box3");
var points_a = [];
var points_b = [];
for (var _i = 0; _i < 10; _i++) {
points_a.push(geom.addPoint([12, 22, 23]));
points_b.push(geom.addPoint([5, 4, 3]));
}
g3.addPoints(points_a);
g3.addPoints(points_b);
if (g3.getPoints().length !== 20) {
return false;
}
return true;
}
function test_Groups_removePoint() {
var m = new gs.Model(td.open_box());
var g1 = m.addGroup("Box");
var g2 = m.addGroup("Box");
var point1 = m.getGeom().addPoint([11, 22, 36]);
var point2 = m.getGeom().addPoint([12, 22, 23]);
var point3 = m.getGeom().addPoint([194, 32, 33]);
var point4 = m.getGeom().addPoint([12, 229, 23]);
var point5 = m.getGeom().addPoint([11, 22, 369]);
// g2.addPoints([point1.getID(), point2.getID(), point3.getID(), point4.getID(), point5.getID()]);
// if (!(g2.getPointIDs().length === 5)) {return false; }
// g2.removePoint(point2.getID());
// if (!(g2.getPointIDs().length === 4)) {return false; }
// g2.removePoint(point3.getID());
// if (!(g2.getPointIDs().length === 3)) {return false; }
return true;
}
function test_Groups_removePoints() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
var point1 = m.getGeom().addPoint([11, 22, 36]);
var point2 = m.getGeom().addPoint([12, 22, 23]);
var point3 = m.getGeom().addPoint([194, 32, 33]);
var point4 = m.getGeom().addPoint([12, 229, 23]);
var point5 = m.getGeom().addPoint([11, 22, 369]);
// g.addPoints([point1.getID(), point2.getID(), point3.getID(), point4.getID(), point5.getID()]);
// if (!(g.getPointIDs().length === 5)) {return false; }
// g.removePoints([point2.getID(), point4.getID(), point5.getID()]);
// if (!(g.getPointIDs().length === 2)) {return false; }
return true;
}
function test_Groups_getProps() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
return true;
}
function test_Groups_setProps() {
var m = new gs.Model(td.open_box());
var g = m.addGroup("Box");
var a = new Map();
if (!g.getProps() === undefined) {
return false;
}
// a.set("one", 1); //TODO
// a.set("two", 2);
// a.set("three", 3);
// a.set("four", 4);
// g.setProps(a);
// if (!(g.getProps() === a)) {return false; }
return true;
}
function test_Groups_toJson() {
var m1 = new gs.Model();
var g = m1.addGroup("mygrp");
g.setProps([["testing", [123, 456, 789]]]);
var j1 = m1.toJSON();
var m2 = new gs.Model(JSON.parse(j1));
var j2 = m2.toJSON();
var m3 = new gs.Model(JSON.parse(j2));
if (m3.getGroup("mygrp").getProps()[0][0] !== "testing") {
return false;
}
console.log(g.toString());
return true;
}
//# sourceMappingURL=_groups_tests.js.map