UNPKG

@jscad/modeling

Version:

Constructive Solid Geometry (CSG) Library for JSCAD

40 lines (27 loc) 984 B
const test = require('ava') const { xAtY, create, fromPoints } = require('./index') const { nearlyEqual } = require('../../../test/helpers/index') const { EPS } = require('../constants') test('line2: xAtY() should return proper values', (t) => { const line1 = create() const x1 = xAtY(line1, 0) nearlyEqual(t, x1, 0, EPS) const x2 = xAtY(line1, 6) t.false(Number.isFinite(x2)) // X is infinite, as the line is parallel to X-axis const x3 = xAtY(line1, -6) t.false(Number.isFinite(x3)) // X is infinite, as the line is parallel to X-axis const line2 = fromPoints(create(), [-5, 4], [5, -6]) const y1 = xAtY(line2, 0) nearlyEqual(t, y1, -1, EPS) const y2 = xAtY(line2, 1) nearlyEqual(t, y2, -2, EPS) const y3 = xAtY(line2, 2) nearlyEqual(t, y3, -3, EPS) const y4 = xAtY(line2, -1) nearlyEqual(t, y4, 0, EPS) const y5 = xAtY(line2, -2) nearlyEqual(t, y5, 1, EPS) const y6 = xAtY(line2, -3) nearlyEqual(t, y6, 2, EPS) t.true(true) })