1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:37:34 +00:00

LibJS: Add tests for new Math functions

This commit is contained in:
Egor Ananyin 2020-12-28 20:14:44 +03:00 committed by Andreas Kling
parent 7c9c3a10d3
commit f30d4f22ef
9 changed files with 97 additions and 0 deletions

View file

@ -0,0 +1,28 @@
test("basic functionality", () => {
expect(Math.atan2).toHaveLength(2);
expect(Math.atan2(90, 15)).toBeCloseTo(1.4056476493802699);
expect(Math.atan2(15, 90)).toBeCloseTo(0.16514867741462683);
expect(Math.atan2(+0, -0)).toBeCloseTo(Math.PI);
expect(Math.atan2(-0, -0)).toBeCloseTo(-Math.PI);
expect(Math.atan2(+0, +0)).toBe(0);
expect(Math.atan2(-0, +0)).toBe(-0);
expect(Math.atan2(+0, -1)).toBeCloseTo(Math.PI);
expect(Math.atan2(-0, -1)).toBeCloseTo(-Math.PI);
expect(Math.atan2(+0, 1)).toBe(0);
expect(Math.atan2(-0, 1)).toBe(-0);
expect(Math.atan2(-1, +0)).toBeCloseTo(-Math.PI / 2);
expect(Math.atan2(-1, -0)).toBeCloseTo(-Math.PI / 2);
expect(Math.atan2(1, +0)).toBeCloseTo(Math.PI / 2);
expect(Math.atan2(1, -0)).toBeCloseTo(Math.PI / 2);
expect(Math.atan2(1, -Infinity)).toBeCloseTo(Math.PI);
expect(Math.atan2(-1, -Infinity)).toBeCloseTo(-Math.PI);
expect(Math.atan2(1, +Infinity)).toBe(0);
expect(Math.atan2(-1, +Infinity)).toBe(-0);
expect(Math.atan2(+Infinity, 1)).toBeCloseTo(Math.PI / 2);
expect(Math.atan2(-Infinity, 1)).toBeCloseTo(-Math.PI / 2);
expect(Math.atan2(+Infinity, -Infinity)).toBeCloseTo((3 * Math.PI) / 4);
expect(Math.atan2(-Infinity, -Infinity)).toBeCloseTo((-3 * Math.PI) / 4);
expect(Math.atan2(+Infinity, +Infinity)).toBeCloseTo(Math.PI / 4);
expect(Math.atan2(-Infinity, +Infinity)).toBeCloseTo(-Math.PI / 4);
});