UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

38 lines (31 loc) 1.23 kB
const test = require('ava') const { fromPoints, create } = require('./index') const { compareVectors } = require('../../../test/helpers/index') test('line3: fromPoints() should return a new line3 with correct values', (t) => { let obs = fromPoints(create(), [0, 0, 0], [1, 0, 0]) let pnt = obs[0] let dir = obs[1] t.true(compareVectors(pnt, [0, 0, 0])) t.true(compareVectors(dir, [1, 0, 0])) obs = fromPoints(create(), [1, 0, 0], [0, 1, 0]) pnt = obs[0] dir = obs[1] t.true(compareVectors(pnt, [1, 0, 0])) t.true(compareVectors(dir, [-0.7071067811865475, 0.7071067811865475, 0])) obs = fromPoints(create(), [0, 1, 0], [1, 0, 0]) pnt = obs[0] dir = obs[1] t.true(compareVectors(pnt, [0, 1, 0])) t.true(compareVectors(dir, [0.7071067811865475, -0.7071067811865475, 0])) obs = fromPoints(obs, [0, 6, 0], [0, 0, 6]) pnt = obs[0] dir = obs[1] t.true(compareVectors(pnt, [0, 6, 0])) t.true(compareVectors(dir, [0, -0.7071067811865475, 0.7071067811865475])) // line3 created from the same points results in an invalid line3 obs = fromPoints(obs, [0, 5, 0], [0, 5, 0]) pnt = obs[0] dir = obs[1] t.true(compareVectors(pnt, [0, 5, 0])) t.true(compareVectors(dir, [NaN, NaN, NaN])) })