diff --git a/spec/core/matchers/toBeGreaterThanOrEqualSpec.js b/spec/core/matchers/toBeGreaterThanOrEqualSpec.js new file mode 100644 index 00000000..1637f11f --- /dev/null +++ b/spec/core/matchers/toBeGreaterThanOrEqualSpec.js @@ -0,0 +1,29 @@ +describe("toBeGreaterThanOrEqual", function() { + it("passes when actual >= expected", function() { + var matcher = jasmineUnderTest.matchers.toBeGreaterThanOrEqual(), + result; + + result = matcher.compare(2, 1); + expect(result.pass).toBe(true); + + result = matcher.compare(1, 1); + expect(result.pass).toBe(true); + + result = matcher.compare(1.0000001, 1); + expect(result.pass).toBe(true); + + result = matcher.compare(1.0, 1.0); + expect(result.pass).toBe(true); + }) + + it("fails when actual < expected", function() { + var matcher = jasmineUnderTest.matchers.toBeGreaterThanOrEqual(), + result; + + result = matcher.compare(1, 2); + expect(result.pass).toBe(false); + + result = matcher.compare(1, 1.0000001); + expect(result.pass).toBe(false); + }) +}); diff --git a/spec/core/matchers/toBeLessThanOrEqualSpec.js b/spec/core/matchers/toBeLessThanOrEqualSpec.js new file mode 100644 index 00000000..20d36e89 --- /dev/null +++ b/spec/core/matchers/toBeLessThanOrEqualSpec.js @@ -0,0 +1,29 @@ +describe("toBeLessThanOrEqual", function() { + it("passes when actual <= expected", function() { + var matcher = jasmineUnderTest.matchers.toBeLessThanOrEqual(), + result; + + result = matcher.compare(1, 2); + expect(result.pass).toBe(true); + + result = matcher.compare(1, 1); + expect(result.pass).toBe(true); + + result = matcher.compare(1, 1.0000001); + expect(result.pass).toBe(true); + + result = matcher.compare(1.0, 1.0); + expect(result.pass).toBe(true); + }); + + it("fails when actual < expected", function() { + var matcher = jasmineUnderTest.matchers.toBeLessThanOrEqual(), + result; + + result = matcher.compare(2, 1); + expect(result.pass).toBe(false); + + result = matcher.compare(1.0000001, 1); + expect(result.pass).toBe(false); + }); +}); diff --git a/src/core/matchers/requireMatchers.js b/src/core/matchers/requireMatchers.js index 63f22ce9..7fb9f4ea 100644 --- a/src/core/matchers/requireMatchers.js +++ b/src/core/matchers/requireMatchers.js @@ -5,6 +5,8 @@ getJasmineRequireObj().requireMatchers = function(jRequire, j$) { 'toBeDefined', 'toBeFalsy', 'toBeGreaterThan', + 'toBeGreaterThanOrEqual', + 'toBeLessThanOrEqual', 'toBeLessThan', 'toBeNaN', 'toBeNull', diff --git a/src/core/matchers/toBeGreaterThanOrEqual.js b/src/core/matchers/toBeGreaterThanOrEqual.js new file mode 100644 index 00000000..5ba22614 --- /dev/null +++ b/src/core/matchers/toBeGreaterThanOrEqual.js @@ -0,0 +1,14 @@ +getJasmineRequireObj().toBeGreaterThanOrEqual = function() { + + function toBeGreaterThanOrEqual() { + return { + compare: function(actual, expected) { + return { + pass: actual >= expected + }; + } + }; + } + + return toBeGreaterThanOrEqual; +}; diff --git a/src/core/matchers/toBeLessThanOrEqual.js b/src/core/matchers/toBeLessThanOrEqual.js new file mode 100644 index 00000000..389a6ffd --- /dev/null +++ b/src/core/matchers/toBeLessThanOrEqual.js @@ -0,0 +1,14 @@ +getJasmineRequireObj().toBeLessThanOrEqual = function() { + function toBeLessThanOrEqual() { + return { + + compare: function(actual, expected) { + return { + pass: actual <= expected + }; + } + }; + } + + return toBeLessThanOrEqual; +};