Ensured sumAll works if the first number is larger

This commit is contained in:
octopusGarden 2022-11-04 14:21:51 -04:00
parent 7b3d057517
commit 184ec69606
2 changed files with 26 additions and 10 deletions

View File

@ -1,11 +1,27 @@
const sumAll = function(num1, num2) {
let sum = 0;
let num1Type = typeof num1;
let num2Type = typeof num2;
//Ensures number is not negative
if (num1 < 0 || num2 < 0) {
return "ERROR";
//Ensures sum is a number
} else if (num1Type !== "number" || num2Type !== "number") {
return "ERROR";
//If the second number is smaller than the first number
} else if (num2 < num1) {
for (let i = num2; i <= num1; i++) {
sum += parseInt(i);
}
return sum;
//If the first number is larger than the second number
} else {
for (let i = num1; i <= num2; i++) {
sum += parseInt(i);
}
return sum;
}
};
// Do not edit below this line

View File

@ -4,19 +4,19 @@ describe('sumAll', () => {
test('sums numbers within the range', () => {
expect(sumAll(1, 4)).toEqual(10);
});
test.skip('works with large numbers', () => {
test('works with large numbers', () => {
expect(sumAll(1, 4000)).toEqual(8002000);
});
test.skip('works with larger number first', () => {
test('works with larger number first', () => {
expect(sumAll(123, 1)).toEqual(7626);
});
test.skip('returns ERROR with negative numbers', () => {
test('returns ERROR with negative numbers', () => {
expect(sumAll(-10, 4)).toEqual('ERROR');
});
test.skip('returns ERROR with non-number parameters', () => {
test('returns ERROR with non-number parameters', () => {
expect(sumAll(10, "90")).toEqual('ERROR');
});
test.skip('returns ERROR with non-number parameters', () => {
test('returns ERROR with non-number parameters', () => {
expect(sumAll(10, [90, 1])).toEqual('ERROR');
});
});