import { Cartesian2 } from "../../Source/Cesium.js"; import { pointInsideTriangle } from "../../Source/Cesium.js"; describe("Core/pointInsideTriangle", function () { it("pointInsideTriangle has point inside", function () { expect( pointInsideTriangle( new Cartesian2(0.25, 0.25), Cartesian2.ZERO, new Cartesian2(1.0, 0.0), new Cartesian2(0.0, 1.0) ) ).toEqual(true); }); it("pointInsideTriangle has point outside", function () { expect( pointInsideTriangle( new Cartesian2(1.0, 1.0), Cartesian2.ZERO, new Cartesian2(1.0, 0.0), new Cartesian2(0.0, 1.0) ) ).toEqual(false); }); it("pointInsideTriangle has point outside (2)", function () { expect( pointInsideTriangle( new Cartesian2(0.5, -0.5), Cartesian2.ZERO, new Cartesian2(1.0, 0.0), new Cartesian2(0.0, 1.0) ) ).toEqual(false); }); it("pointInsideTriangle has point outside (3)", function () { expect( pointInsideTriangle( new Cartesian2(-0.5, 0.5), Cartesian2.ZERO, new Cartesian2(1.0, 0.0), new Cartesian2(0.0, 1.0) ) ).toEqual(false); }); it("pointInsideTriangle has point on corner", function () { expect( pointInsideTriangle( Cartesian2.ZERO, Cartesian2.ZERO, new Cartesian2(1.0, 0.0), new Cartesian2(0.0, 1.0) ) ).toEqual(false); }); it("pointInsideTriangle has point inside on edge", function () { expect( pointInsideTriangle( new Cartesian2(0.5, 0.0), Cartesian2.ZERO, new Cartesian2(1.0, 0.0), new Cartesian2(0.0, 1.0) ) ).toEqual(false); }); it("throws without point", function () { expect(function () { pointInsideTriangle(); }).toThrowDeveloperError(); }); it("throws without p0", function () { expect(function () { pointInsideTriangle(new Cartesian2()); }).toThrowDeveloperError(); }); it("throws without p1", function () { expect(function () { pointInsideTriangle(new Cartesian2(), new Cartesian2()); }).toThrowDeveloperError(); }); it("throws without p2", function () { expect(function () { pointInsideTriangle(new Cartesian2(), new Cartesian2(), new Cartesian2()); }).toThrowDeveloperError(); }); });