UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

59 lines (43 loc) 1.36 kB
const test = require('ava') const { geom2, geom3, path2 } = require('../geometries') const { line, rectangle, cuboid } = require('../primitives') const { measureArea } = require('./index') test('measureArea: 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 larea = measureArea(aline) const rarea = measureArea(arect) const carea = measureArea(acube) const p2area = measureArea(apath2) const g2area = measureArea(ageom2) const g3area = measureArea(ageom3) const narea = measureArea(n) const oarea = measureArea(o) const xarea = measureArea(x) t.is(larea, 0) t.is(rarea, 4) // 2x2 t.is(carea, 24) // 2x2x6 t.is(p2area, 0) t.is(g2area, 0) t.is(g3area, 0) t.is(narea, 0) t.is(oarea, 0) t.is(xarea, 0) }) test('measureArea (multiple objects)', (t) => { const aline = line([[10, 10], [15, 15]]) const arect = rectangle({ size: [10, 20] }) const acube = cuboid({ size: [10, 20, 40] }) const o = {} let allarea = measureArea(aline, arect, acube, o) t.deepEqual(allarea, [0, 200, 2800, 0]) allarea = measureArea(aline, arect, acube, o) t.deepEqual(allarea, [0, 200, 2800, 0]) })