From 1a7921ed569ca481f9c33a7d042154b73b002dc6 Mon Sep 17 00:00:00 2001 From: Denzel Date: Sat, 4 Jan 2020 11:40:03 +0800 Subject: [PATCH] finished sumAll.js exercise --- sumAll/sumAll.js | 18 +++++++++++++++--- sumAll/sumAll.spec.js | 10 +++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/sumAll/sumAll.js b/sumAll/sumAll.js index 4030fe8..d769d49 100644 --- a/sumAll/sumAll.js +++ b/sumAll/sumAll.js @@ -1,5 +1,17 @@ -const sumAll = function() { - +const sumAll = function(num1, num2) { + if (Math.sign(num1) === 1 && Math.sign(num2) === 1) { + if (Number.isInteger(num1) && Number.isInteger(num2)) { + let total = 0; + for (let i = num1; i < num2 + 1; i++) { + total += i; + } + return total; + } else { + return "ERROR"; + } + } else { + return "ERROR"; + } } -module.exports = sumAll +module.exports = sumAll \ No newline at end of file diff --git a/sumAll/sumAll.spec.js b/sumAll/sumAll.spec.js index 520adc1..aff4c25 100644 --- a/sumAll/sumAll.spec.js +++ b/sumAll/sumAll.spec.js @@ -4,19 +4,19 @@ describe('sumAll', function() { it('sums numbers within the range', function() { expect(sumAll(1, 4)).toEqual(10); }); - xit('works with large numbers', function() { + it('works with large numbers', function() { expect(sumAll(1, 4000)).toEqual(8002000); }); xit('works with larger number first', function() { expect(sumAll(123, 1)).toEqual(7626); }); - xit('returns ERROR with negative numbers', function() { + it('returns ERROR with negative numbers', function() { expect(sumAll(-10, 4)).toEqual('ERROR'); }); - xit('returns ERROR with non-number parameters', function() { + it('returns ERROR with non-number parameters', function() { expect(sumAll(10, "90")).toEqual('ERROR'); }); - xit('returns ERROR with non-number parameters', function() { + it('returns ERROR with non-number parameters', function() { expect(sumAll(10, [90, 1])).toEqual('ERROR'); }); -}); +}); \ No newline at end of file