@fractorysolutions/safe-units
Version:
Type-safe TypeScript units of measure
25 lines (21 loc) • 804 B
text/typescript
import { Measure } from "../../measure/numberMeasure";
import { degrees, piRadians } from "../angle";
import { meters, radians } from "../base";
import * as Trig from "../trig";
describe("Trig", () => {
const zeroRadians = Measure.of(0, radians);
const zero = Measure.dimensionless(0);
it("normal", () => {
expect(Trig.cos(zeroRadians)).toEqual(Measure.dimensionless(1));
expect(Trig.sin(zeroRadians)).toEqual(zero);
expect(Trig.tan(zeroRadians)).toEqual(zero);
});
it("inverse", () => {
expect(Trig.acos(zero)).toEqual(Measure.of(0.5, piRadians));
expect(Trig.asin(zero)).toEqual(zeroRadians);
expect(Trig.atan(zero)).toEqual(zeroRadians);
expect(Trig.atan2(Measure.of(5, meters), Measure.of(5, meters))).toEqual(
Measure.of(45, degrees),
);
});
});