diff --git a/sumAll/sumAll.js b/sumAll/sumAll.js index 863a79d..1429afa 100644 --- a/sumAll/sumAll.js +++ b/sumAll/sumAll.js @@ -1,5 +1,16 @@ -var sumAll = function() { +const sumAll = function(min, max) { + if (min < 0 || max < 0) return "ERROR"; + if (typeof min !== "number" || typeof max !== "number") return "ERROR"; + if (min > max) { + const temp = min; + min = max; + max = temp; + } + let sum = 0; + for (let i = min; i < max + 1; i++) { + sum += i; + } + return sum; +}; -} - -module.exports = sumAll +module.exports = sumAll; diff --git a/sumAll/sumAll.spec.js b/sumAll/sumAll.spec.js index 7f48e7a..1b3fa3c 100644 --- a/sumAll/sumAll.spec.js +++ b/sumAll/sumAll.spec.js @@ -1,22 +1,22 @@ -var sumAll = require('./sumAll') +const sumAll = require("./sumAll"); -describe('sumAll', function() { - it('sums numbers within the range', function() { +describe("sumAll", () => { + it("sums numbers within the range", () => { expect(sumAll(1, 4)).toEqual(10); }); - xit('works with large numbers', function() { + it("works with large numbers", () => { expect(sumAll(1, 4000)).toEqual(8002000); }); - xit('works with larger number first', function() { + it("works with larger number first", () => { expect(sumAll(123, 1)).toEqual(7626); }); - xit('returns ERROR with negative numbers', function() { - expect(sumAll(-10, 4)).toEqual('ERROR'); + it("returns ERROR with negative numbers", () => { + expect(sumAll(-10, 4)).toEqual("ERROR"); }); - xit('returns ERROR with non-number parameters', function() { - expect(sumAll(10, "90")).toEqual('ERROR'); + it("returns ERROR with non-number parameters", () => { + expect(sumAll(10, "90")).toEqual("ERROR"); }); - xit('returns ERROR with non-number parameters', function() { - expect(sumAll(10, [90, 1])).toEqual('ERROR'); + it("returns ERROR with non-number parameters", () => { + expect(sumAll(10, [90, 1])).toEqual("ERROR"); }); });