From 075fe8eea2c304417b3142a6a1e2660d5fe15d3c Mon Sep 17 00:00:00 2001 From: cats256 <59489624+cats256@users.noreply.github.com> Date: Tue, 4 Jul 2023 11:38:40 -0500 Subject: [PATCH 1/6] Reformat test parameters for consistency --- 08_calculator/calculator.spec.js | 30 +++++++++---------- 08_calculator/solution/calculator-solution.js | 4 +-- .../solution/calculator-solution.spec.js | 20 ++++++------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/08_calculator/calculator.spec.js b/08_calculator/calculator.spec.js index 3507452..7cd2314 100644 --- a/08_calculator/calculator.spec.js +++ b/08_calculator/calculator.spec.js @@ -2,55 +2,55 @@ const calculator = require('./calculator'); describe('add', () => { test('adds 0 and 0', () => { - expect(calculator.add(0,0)).toBe(0); + expect(calculator.add(0, 0)).toBe(0); }); test.skip('adds 2 and 2', () => { - expect(calculator.add(2,2)).toBe(4); + expect(calculator.add(2, 2)).toBe(4); }); test.skip('adds positive numbers', () => { - expect(calculator.add(2,6)).toBe(8); + expect(calculator.add(2, 6)).toBe(8); }); }); describe('subtract', () => { test.skip('subtracts numbers', () => { - expect(calculator.subtract(10,4)).toBe(6); + expect(calculator.subtract(10, 4)).toBe(6); }); }); describe('sum', () => { - test.skip('computes the sum of an empty array', () => { - expect(calculator.sum([])).toBe(0); + test.skip('computes the sum of an empty parameter', () => { + expect(calculator.sum()).toBe(0); }); - test.skip('computes the sum of an array of one number', () => { - expect(calculator.sum([7])).toBe(7); + test.skip('computes the sum of one number', () => { + expect(calculator.sum(7)).toBe(7); }); - test.skip('computes the sum of an array of two numbers', () => { - expect(calculator.sum([7,11])).toBe(18); + test.skip('computes the sum of two numbers', () => { + expect(calculator.sum(7, 11)).toBe(18); }); - test.skip('computes the sum of an array of many numbers', () => { - expect(calculator.sum([1,3,5,7,9])).toBe(25); + test.skip('computes the sum of many numbers', () => { + expect(calculator.sum(1, 3, 5, 7, 9)).toBe(25); }); }); describe('multiply', () => { test.skip('multiplies two numbers', () => { - expect(calculator.multiply(2,4)).toBe(8); + expect(calculator.multiply(2, 4)).toBe(8); }); test.skip('multiplies several numbers', () => { - expect(calculator.multiply(2,4,6,8,10,12,14)).toBe(645120); + expect(calculator.multiply(2, 4, 6, 8, 10, 12, 14)).toBe(645120); }); }); describe('power', () => { test.skip('raises one number to the power of another number', () => { - expect(calculator.power(4,3)).toBe(64); // 4 to third power is 64 + expect(calculator.power(4, 3)).toBe(64); // 4 to third power is 64 }); }); diff --git a/08_calculator/solution/calculator-solution.js b/08_calculator/solution/calculator-solution.js index ab39a60..b6b7cf7 100644 --- a/08_calculator/solution/calculator-solution.js +++ b/08_calculator/solution/calculator-solution.js @@ -6,8 +6,8 @@ const subtract = function (a, b) { return a - b; }; -const sum = function (array) { - return array.reduce((total, current) => total + current, 0); +const sum = function (...args) { + return args.reduce((total, current) => total + current, 0); }; const multiply = function(...args){ diff --git a/08_calculator/solution/calculator-solution.spec.js b/08_calculator/solution/calculator-solution.spec.js index 453707c..c99993b 100644 --- a/08_calculator/solution/calculator-solution.spec.js +++ b/08_calculator/solution/calculator-solution.spec.js @@ -21,30 +21,30 @@ describe('subtract', () => { }); describe('sum', () => { - test('computes the sum of an empty array', () => { - expect(calculator.sum([])).toBe(0); + test('computes the sum of an empty parameter', () => { + expect(calculator.sum()).toBe(0); }); - test('computes the sum of an array of one number', () => { - expect(calculator.sum([7])).toBe(7); + test('computes the sum of one number', () => { + expect(calculator.sum(7)).toBe(7); }); - test('computes the sum of an array of two numbers', () => { - expect(calculator.sum([7, 11])).toBe(18); + test('computes the sum of two numbers', () => { + expect(calculator.sum(7, 11)).toBe(18); }); - test('computes the sum of an array of many numbers', () => { - expect(calculator.sum([1, 3, 5, 7, 9])).toBe(25); + test('computes the sum of many numbers', () => { + expect(calculator.sum(1, 3, 5, 7, 9)).toBe(25); }); }); describe('multiply', () => { test('multiplies two numbers', () => { - expect(calculator.multiply([2, 4])).toBe(8); + expect(calculator.multiply(2, 4)).toBe(8); }); test('multiplies several numbers', () => { - expect(calculator.multiply([2, 4, 6, 8, 10, 12, 14])).toBe(645120); + expect(calculator.multiply(2, 4, 6, 8, 10, 12, 14)).toBe(645120); }); }); From 03e52ea9ee6a5c323d61d71c7164177e5b47372b Mon Sep 17 00:00:00 2001 From: cats256 <59489624+cats256@users.noreply.github.com> Date: Tue, 4 Jul 2023 11:55:08 -0500 Subject: [PATCH 2/6] Improve sum and multiply functions solution code --- 08_calculator/solution/calculator-solution.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/08_calculator/solution/calculator-solution.js b/08_calculator/solution/calculator-solution.js index b6b7cf7..43af44f 100644 --- a/08_calculator/solution/calculator-solution.js +++ b/08_calculator/solution/calculator-solution.js @@ -7,16 +7,12 @@ const subtract = function (a, b) { }; const sum = function (...args) { - return args.reduce((total, current) => total + current, 0); + return args.reduce((sum, curr) => sum + curr, 0); }; const multiply = function(...args){ - let product = 1; - for (let i = 0; i < args.length; i++) { - product *= args[i]; - } - return product; - }; + return args.reduce((product, curr) => product * curr) +}; const power = function (a, b) { return Math.pow(a, b); From e10ee035ad5ab313802ffd262642446bbd49bae1 Mon Sep 17 00:00:00 2001 From: Will <59489624+cats256@users.noreply.github.com> Date: Sun, 16 Jul 2023 15:59:50 -0500 Subject: [PATCH 3/6] Update calculator.spec.js --- 08_calculator/calculator.spec.js | 96 ++++++++++++++++---------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/08_calculator/calculator.spec.js b/08_calculator/calculator.spec.js index 7cd2314..48b08c9 100644 --- a/08_calculator/calculator.spec.js +++ b/08_calculator/calculator.spec.js @@ -1,77 +1,77 @@ const calculator = require('./calculator'); describe('add', () => { - test('adds 0 and 0', () => { - expect(calculator.add(0, 0)).toBe(0); - }); + test('adds 0 and 0', () => { + expect(calculator.add(0, 0)).toBe(0); + }); - test.skip('adds 2 and 2', () => { - expect(calculator.add(2, 2)).toBe(4); - }); + test.skip('adds 2 and 2', () => { + expect(calculator.add(2, 2)).toBe(4); + }); - test.skip('adds positive numbers', () => { - expect(calculator.add(2, 6)).toBe(8); - }); + test.skip('adds positive numbers', () => { + expect(calculator.add(2, 6)).toBe(8); + }); }); describe('subtract', () => { - test.skip('subtracts numbers', () => { - expect(calculator.subtract(10, 4)).toBe(6); - }); + test.skip('subtracts numbers', () => { + expect(calculator.subtract(10, 4)).toBe(6); + }); }); describe('sum', () => { - test.skip('computes the sum of an empty parameter', () => { - expect(calculator.sum()).toBe(0); - }); + test.skip('computes the sum of an empty array', () => { + expect(calculator.sum([])).toBe(0); + }); - test.skip('computes the sum of one number', () => { - expect(calculator.sum(7)).toBe(7); - }); + test.skip('computes the sum of an array of one number', () => { + expect(calculator.sum([7])).toBe(7); + }); - test.skip('computes the sum of two numbers', () => { - expect(calculator.sum(7, 11)).toBe(18); - }); + test.skip('computes the sum of an array of two numbers', () => { + expect(calculator.sum([7, 11])).toBe(18); + }); - test.skip('computes the sum of many numbers', () => { - expect(calculator.sum(1, 3, 5, 7, 9)).toBe(25); - }); + test.skip('computes the sum of an array of many numbers', () => { + expect(calculator.sum([1, 3, 5, 7, 9])).toBe(25); + }); }); describe('multiply', () => { - test.skip('multiplies two numbers', () => { - expect(calculator.multiply(2, 4)).toBe(8); - }); + test.skip('multiplies two numbers', () => { + expect(calculator.multiply([2, 4])).toBe(8); + }); - test.skip('multiplies several numbers', () => { - expect(calculator.multiply(2, 4, 6, 8, 10, 12, 14)).toBe(645120); - }); + test.skip('multiplies several numbers', () => { + expect(calculator.multiply([2, 4, 6, 8, 10, 12, 14])).toBe(645120); + }); }); describe('power', () => { - test.skip('raises one number to the power of another number', () => { - expect(calculator.power(4, 3)).toBe(64); // 4 to third power is 64 - }); + test.skip('raises one number to the power of another number', () => { + expect(calculator.power(4, 3)).toBe(64); // 4 to third power is 64 + }); }); describe('factorial', () => { - test.skip('computes the factorial of 0', () => { - expect(calculator.factorial(0)).toBe(1); // 0! = 1 - }); + test.skip('computes the factorial of 0', () => { + expect(calculator.factorial(0)).toBe(1); // 0! = 1 + }); - test.skip('computes the factorial of 1', () => { - expect(calculator.factorial(1)).toBe(1); - }); + test.skip('computes the factorial of 1', () => { + expect(calculator.factorial(1)).toBe(1); + }); - test.skip('computes the factorial of 2', () => { - expect(calculator.factorial(2)).toBe(2); - }); + test.skip('computes the factorial of 2', () => { + expect(calculator.factorial(2)).toBe(2); + }); - test.skip('computes the factorial of 5', () => { - expect(calculator.factorial(5)).toBe(120); - }); + test.skip('computes the factorial of 5', () => { + expect(calculator.factorial(5)).toBe(120); + }); - test.skip('computes the factorial of 10', () => { - expect(calculator.factorial(10)).toBe(3628800); - }); + test.skip('computes the factorial of 10', () => { + expect(calculator.factorial(10)).toBe(3628800); + }); }); From f855eb51b25eaf043f903a66b90e0f7c1a261592 Mon Sep 17 00:00:00 2001 From: Will <59489624+cats256@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:02:03 -0500 Subject: [PATCH 4/6] Update calculator-solution.spec.js --- .../solution/calculator-solution.spec.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/08_calculator/solution/calculator-solution.spec.js b/08_calculator/solution/calculator-solution.spec.js index c99993b..453707c 100644 --- a/08_calculator/solution/calculator-solution.spec.js +++ b/08_calculator/solution/calculator-solution.spec.js @@ -21,30 +21,30 @@ describe('subtract', () => { }); describe('sum', () => { - test('computes the sum of an empty parameter', () => { - expect(calculator.sum()).toBe(0); + test('computes the sum of an empty array', () => { + expect(calculator.sum([])).toBe(0); }); - test('computes the sum of one number', () => { - expect(calculator.sum(7)).toBe(7); + test('computes the sum of an array of one number', () => { + expect(calculator.sum([7])).toBe(7); }); - test('computes the sum of two numbers', () => { - expect(calculator.sum(7, 11)).toBe(18); + test('computes the sum of an array of two numbers', () => { + expect(calculator.sum([7, 11])).toBe(18); }); - test('computes the sum of many numbers', () => { - expect(calculator.sum(1, 3, 5, 7, 9)).toBe(25); + test('computes the sum of an array of many numbers', () => { + expect(calculator.sum([1, 3, 5, 7, 9])).toBe(25); }); }); describe('multiply', () => { test('multiplies two numbers', () => { - expect(calculator.multiply(2, 4)).toBe(8); + expect(calculator.multiply([2, 4])).toBe(8); }); test('multiplies several numbers', () => { - expect(calculator.multiply(2, 4, 6, 8, 10, 12, 14)).toBe(645120); + expect(calculator.multiply([2, 4, 6, 8, 10, 12, 14])).toBe(645120); }); }); From 44e39f0412e4ad24001340e8da1848b0c18a66d5 Mon Sep 17 00:00:00 2001 From: Will <59489624+cats256@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:06:25 -0500 Subject: [PATCH 6/6] Update calculator-solution.js --- 08_calculator/solution/calculator-solution.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/08_calculator/solution/calculator-solution.js b/08_calculator/solution/calculator-solution.js index 43af44f..b195387 100644 --- a/08_calculator/solution/calculator-solution.js +++ b/08_calculator/solution/calculator-solution.js @@ -6,12 +6,12 @@ const subtract = function (a, b) { return a - b; }; -const sum = function (...args) { - return args.reduce((sum, curr) => sum + curr, 0); +const sum = function (array) { + return array.reduce((total, current) => total + current, 0); }; -const multiply = function(...args){ - return args.reduce((product, curr) => product * curr) +const multiply = function (array) { + return array.reduce((product, current) => product * current) }; const power = function (a, b) {