math-base-geometry
Version:
utils for math geometry
45 lines (43 loc) • 1.8 kB
JavaScript
function triangle(expect, twoDimensional) {
const triangle = twoDimensional.Triangle;
describe('Triangle', () => {
describe("Area", () => {
describe("Area computed with Base and Height", () => {
context("Base=12 Height=15.2", () => {
it("Should return 91.19999999999999", () => {
expect(triangle.areaBaseHeight(12, 15.2)).to.equal(91.19999999999999);
});
})
});
describe("Area computed with Heron formula", () => {
context("A=3 B=4 C=5", () => {
it("Should return 6", () => {
expect(triangle.areaHeron(3, 4, 5)).to.equal(6);
});
});
});
describe("Area computed knowing 2 sides and an angle", () => {
context("A=7 B=10 angle=25", () => {
it("Should return between 14.01, 14.99(JS floating point problems)", () => {
expect(triangle.areaTwoSides(7, 10, 25)).to.be.closeTo(14.01, 14.99);
});
});
});
});
describe("Perimeter", () => {
context("A=1 B=6 C=3", () => {
it("Should return 10", () => {
expect(triangle.perimeter(1, 6, 3)).to.equal(10);
})
})
});
describe("Base", () => {
context("area=100 side=12 gamma=45 degree", () => {
it("Should return between 23.01, 23.99 (JS floating point problems)", () => {
expect(triangle.base(100, 12, 45)).to.be.closeTo(23.01, 23.99);
})
})
});
});
}
module.exports = { test: triangle };