test("basic functionality", () => { expect(~0).toBe(-1); expect(~1).toBe(-2); expect(~2).toBe(-3); expect(~3).toBe(-4); expect(~4).toBe(-5); expect(~5).toBe(-6); expect(~-1).toBe(0); expect(~42).toBe(-43); expect(~9999).toBe(-10000); }); test("non-numeric values", () => { expect(~"42").toBe(-43); expect(~"foo").toBe(-1); expect(~[]).toBe(-1); expect(~{}).toBe(-1); expect(~undefined).toBe(-1); expect(~null).toBe(-1); expect(~NaN).toBe(-1); expect(~Infinity).toBe(-1); expect(~-Infinity).toBe(-1); });