test("basic functionality", () => { expect(Math.sin).toHaveLength(1); expect(Math.sin(0)).toBe(0); expect(Math.sin(null)).toBe(0); expect(Math.sin("")).toBe(0); expect(Math.sin([])).toBe(0); expect(Math.sin((Math.PI * 3) / 2)).toBe(-1); expect(Math.sin(Math.PI / 2)).toBe(1); expect(Math.sin()).toBeNaN(); expect(Math.sin(undefined)).toBeNaN(); expect(Math.sin([1, 2, 3])).toBeNaN(); expect(Math.sin({})).toBeNaN(); expect(Math.sin("foo")).toBeNaN(); expect(Math.sin(Infinity)).toBeNaN(); expect(Math.sin(-Infinity)).toBeNaN(); });