Implement a function that takes 2 integers and returns the sum of every number between(and including) them
This commit is contained in:
parent
eeb91e5401
commit
fe6db15bb3
|
@ -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
|
// Do not edit below this line
|
||||||
module.exports = sumAll;
|
module.exports = sumAll;
|
||||||
|
|
|
@ -4,19 +4,19 @@ describe('sumAll', () => {
|
||||||
test('sums numbers within the range', () => {
|
test('sums numbers within the range', () => {
|
||||||
expect(sumAll(1, 4)).toEqual(10);
|
expect(sumAll(1, 4)).toEqual(10);
|
||||||
});
|
});
|
||||||
test.skip('works with large numbers', () => {
|
test('works with large numbers', () => {
|
||||||
expect(sumAll(1, 4000)).toEqual(8002000);
|
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);
|
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');
|
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');
|
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');
|
expect(sumAll(10, [90, 1])).toEqual('ERROR');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue