UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

59 lines (43 loc) 1.64 kB
const test = require('ava') const { geom2, geom3, path2 } = require('../geometries') const { line, rectangle, cuboid } = require('../primitives') const { measureDimensions } = require('./index') test('measureDimensions (single objects)', (t) => { const aline = line([[10, 10], [15, 15]]) const arect = rectangle() const acube = cuboid() const apath2 = path2.create() const ageom2 = geom2.create() const ageom3 = geom3.create() const n = null const o = {} const x = 'hi' const lbounds = measureDimensions(aline) const rbounds = measureDimensions(arect) const cbounds = measureDimensions(acube) const p2bounds = measureDimensions(apath2) const g2bounds = measureDimensions(ageom2) const g3bounds = measureDimensions(ageom3) const nbounds = measureDimensions(n) const obounds = measureDimensions(o) const xbounds = measureDimensions(x) t.deepEqual(lbounds, [5, 5, 0]) t.deepEqual(rbounds, [2, 2, 0]) t.deepEqual(cbounds, [2, 2, 2]) t.deepEqual(p2bounds, [0, 0, 0]) t.deepEqual(g2bounds, [0, 0, 0]) t.deepEqual(g3bounds, [0, 0, 0]) t.deepEqual(nbounds, [0, 0, 0]) t.deepEqual(obounds, [0, 0, 0]) t.deepEqual(xbounds, [0, 0, 0]) }) test('measureDimensions (multiple objects)', (t) => { const aline = line([[10, 10], [15, 15]]) const arect = rectangle({ size: [10, 20] }) const acube = cuboid() const o = {} let allbounds = measureDimensions(aline, arect, acube, o) t.deepEqual(allbounds, [[5, 5, 0], [10, 20, 0], [2, 2, 2], [0, 0, 0]]) allbounds = measureDimensions(aline, arect, acube, o) t.deepEqual(allbounds, [[5, 5, 0], [10, 20, 0], [2, 2, 2], [0, 0, 0]]) })