Implement a function that takes 2 integers and returns the sum of every number between(and including) them

This commit is contained in:
Akutsang 2023-02-03 14:56:42 +01:00
parent eeb91e5401
commit fe6db15bb3
2 changed files with 32 additions and 7 deletions

View File

@ -1,6 +1,31 @@
const sumAll = function() {
const sumAll = function(start, end){
if(end<0 || start<0 || typeof(start) !== "number" || typeof(end) !== "number"){
return "ERROR"
}else{
if(end < start){
end1 = end
end2 = start
}else{
end1 = start
end2 = end
}
return (end1 + end2)*(end2/2)}
};
// let total = 0;
// for (let i = start; i <= end; i++) {
// total = total + i;
// }
// return total;
// };
// Do not edit below this line
module.exports = sumAll;

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');
});
});