@technobuddha/library
Version:
A large library of useful functions
46 lines (41 loc) • 2.16 kB
text/typescript
import { toDegrees } from './to-degrees.ts';
describe('toDegrees', () => {
test('converts positive angles', () => {
expect(toDegrees((0 * Math.PI) / 4)).toBeCloseTo(0.0);
expect(toDegrees(Math.PI / 4)).toBeCloseTo(45.0);
expect(toDegrees((2 * Math.PI) / 4)).toBeCloseTo(90.0);
expect(toDegrees((3 * Math.PI) / 4)).toBeCloseTo(135.0);
expect(toDegrees((4 * Math.PI) / 4)).toBeCloseTo(180.0);
expect(toDegrees((5 * Math.PI) / 4)).toBeCloseTo(225.0);
expect(toDegrees((6 * Math.PI) / 4)).toBeCloseTo(270.0);
expect(toDegrees((7 * Math.PI) / 4)).toBeCloseTo(315.0);
});
test('converts negative angles', () => {
expect(toDegrees((-0 * Math.PI) / 4)).toBeCloseTo(-0.0);
expect(toDegrees((-1 * Math.PI) / 4)).toBeCloseTo(-45.0);
expect(toDegrees((-2 * Math.PI) / 4)).toBeCloseTo(-90.0);
expect(toDegrees((-3 * Math.PI) / 4)).toBeCloseTo(-135.0);
expect(toDegrees((-4 * Math.PI) / 4)).toBeCloseTo(-180.0);
expect(toDegrees((-5 * Math.PI) / 4)).toBeCloseTo(-225.0);
expect(toDegrees((-6 * Math.PI) / 4)).toBeCloseTo(-270.0);
expect(toDegrees((-7 * Math.PI) / 4)).toBeCloseTo(-315.0);
});
test('converts positive angles greater than full', () => {
expect(toDegrees((8 * Math.PI) / 4)).toBeCloseTo(360.0);
expect(toDegrees((9 * Math.PI) / 4)).toBeCloseTo(405.0);
expect(toDegrees((10 * Math.PI) / 4)).toBeCloseTo(450.0);
expect(toDegrees((11 * Math.PI) / 4)).toBeCloseTo(495.0);
expect(toDegrees((12 * Math.PI) / 4)).toBeCloseTo(540.0);
expect(toDegrees((13 * Math.PI) / 4)).toBeCloseTo(585.0);
expect(toDegrees((14 * Math.PI) / 4)).toBeCloseTo(630.0);
expect(toDegrees((15 * Math.PI) / 4)).toBeCloseTo(675.0);
});
test('accepts units', () => {
expect(toDegrees(90, { unit: 'degrees' })).toBeCloseTo(90);
expect(toDegrees(Math.PI / 2, { unit: 'radians' })).toBeCloseTo(90);
expect(toDegrees(Math.PI / 2, { unit: 'rad' })).toBeCloseTo(90);
expect(toDegrees(100, { unit: 'gradians' })).toBeCloseTo(90);
expect(toDegrees(100, { unit: 'grad' })).toBeCloseTo(90);
expect(toDegrees(1 / 4, { unit: 'turns' })).toBeCloseTo(90);
});
});