describe("Falsy", function() { it("is true for an empty string", function() { var falsy = new jasmineUnderTest.Falsy(); expect(falsy.asymmetricMatch("")).toBe(true); expect(falsy.asymmetricMatch('')).toBe(true); expect(falsy.asymmetricMatch('asdasdad')).toBe(false); }); it("is false for a number that is 0", function() { var falsy = new jasmineUnderTest.Falsy(Number); expect(falsy.asymmetricMatch(1)).toBe(false); expect(falsy.asymmetricMatch(0)).toBe(true); expect(falsy.asymmetricMatch(-23)).toBe(false); expect(falsy.asymmetricMatch(-3.1)).toBe(false); }); it("is true for a null or undefined", function() { var falsy = new jasmineUnderTest.Falsy(Function); expect(falsy.asymmetricMatch(null)).toBe(true); expect(falsy.asymmetricMatch(undefined )).toBe(true); }); it("is true for NaN", function() { var falsy = new jasmineUnderTest.Falsy(Object); expect(falsy.asymmetricMatch(NaN)).toBe(true); }); it("is true for a false Boolean", function() { var falsy = new jasmineUnderTest.Falsy(Boolean); expect(falsy.asymmetricMatch(false)).toBe(true); expect(falsy.asymmetricMatch(true)).toBe(false); }); });