From a8ca196ede091f93c771c63889cb58805e6524b9 Mon Sep 17 00:00:00 2001 From: Nguyen Nhu Hieu <5441003+hieumoscow@users.noreply.github.com> Date: Sat, 23 Sep 2023 01:28:23 +0000 Subject: [PATCH 1/6] Support 1 operand solution --- .vscode/launch.json | 17 +++++++ api/controller.js | 25 +++++++++- bun.lockb | Bin 0 -> 269718 bytes public/client.js | 58 ++++++++++++++++++---- public/default.css | 57 ++++++++++++++-------- public/index.html | 53 ++++++++++++++++++-- test/arithmetic.test.js | 104 +++++++++++++++++++++++++++++++++++++++- test/helpers.js | 2 +- 8 files changed, 279 insertions(+), 37 deletions(-) create mode 100644 .vscode/launch.json create mode 100755 bun.lockb diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..dec8329 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,17 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "skipFiles": [ + + ], + "program": "${workspaceFolder}/server.js" + } + ] +} \ No newline at end of file diff --git a/api/controller.js b/api/controller.js index 949731c..1eee3a2 100644 --- a/api/controller.js +++ b/api/controller.js @@ -11,11 +11,32 @@ exports.calculate = function(req, res) { }); // TODO: Add operator + /** + * An object containing mathematical operations as functions. + * @typedef {Object} Operations + * @property {function} add - Adds two numbers. + * @property {function} subtract - Subtracts two numbers. + * @property {function} multiply - Multiplies two numbers. + * @property {function} divide - Divides two numbers. + * @property {function} power - Raises a number to a power. + * @property {function} mod - Returns the remainder of a division operation. + * @property {function} negate - Negates a number. + */ + var operations = { 'add': function(a, b) { return Number(a) + Number(b) }, 'subtract': function(a, b) { return a - b }, 'multiply': function(a, b) { return a * b }, 'divide': function(a, b) { return a / b }, + 'power': function(a, b) { return Math.pow(a, b) }, + 'modulus': function(a, b) { return a % b }, + 'sqrt': function(a) { return Math.sqrt(a) }, + 'factorial':function(a) { return factorial(a) }, + 'log': function(a) { return Math.log(a) }, + 'sin': function(a) { return Math.sin(a) }, + 'cos': function(a) { return Math.cos(a) }, + 'tan': function(a) { return Math.tan(a) }, + 'negate': function(a) { return -a } }; if (!req.query.operation) { @@ -34,9 +55,9 @@ exports.calculate = function(req, res) { throw new Error("Invalid operand1: " + req.query.operand1); } - if (!req.query.operand2 || + if (req.query.operand2 != null && (!req.query.operand2 || !req.query.operand2.match(/^(-)?[0-9\.]+(e(-)?[0-9]+)?$/) || - req.query.operand2.replace(/[-0-9e]/g, '').length > 1) { + req.query.operand2.replace(/[-0-9e]/g, '').length > 1)) { throw new Error("Invalid operand2: " + req.query.operand2); } diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..f456ccb5ba6178aab542f7a0be2d5b19a593f49e GIT binary patch literal 269718 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 lLt35n=G7)$pxT~TZ*{ILZP&6j6)2>=VR -

+
+
-
0
+
+ Operation: +
+
+ 0 +
-
+
@@ -41,6 +47,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/test/arithmetic.test.js b/test/arithmetic.test.js index deded48..314ddb0 100644 --- a/test/arithmetic.test.js +++ b/test/arithmetic.test.js @@ -94,7 +94,34 @@ describe('Arithmetic', function () { }); // TODO: Challenge #1 - +// add tests for substraction + describe('Subtraction', function () { + it('subtracts two positive integers', function (done) { + request.get('/arithmetic?operation=subtract&operand1=21&operand2=21') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 0 }); + done(); + }); + }); + it('subtracts zero from an integer', function (done) { + request.get('/arithmetic?operation=subtract&operand1=42&operand2=0') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 42 }); + done(); + }); + }); + it('subtracts a negative integer from a positive integer', function (done) { + request.get('/arithmetic?operation=subtract&operand1=21&operand2=-42') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 63 }); + done(); + }); + }); + }); + describe('Multiplication', function () { it('multiplies two positive integers', function (done) { @@ -205,4 +232,79 @@ describe('Arithmetic', function () { }); }); }); + // add test for power + describe('Power', function () { + it('raises a positive integer to a positive integer power', function (done) { + request.get('/arithmetic?operation=power&operand1=2&operand2=2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 4 }); + done(); + }); + }); + it('raises a positive integer to a negative integer power', function (done) { + request.get('/arithmetic?operation=power&operand1=2&operand2=-2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 0.25 }); + done(); + }); + }); + it('raises a negative integer to a positive integer power', function (done) { + request.get('/arithmetic?operation=power&operand1=-2&operand2=2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 4 }); + done(); + }); + }); + it('raises a negative integer to a negative integer power', function (done) { + request.get('/arithmetic?operation=power&operand1=-2&operand2=-2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 0.25 }); + done(); + }); + }); + + }); + + // add test for modulus + describe('Modulus', function () { + it('returns the remainder of 2 positive numbers', function (done) { + request.get('/arithmetic?operation=modulus&operand1=5&operand2=2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 1 }); + done(); + }); + }); + it('returns the remainder of 2 negative numbers', function (done) { + request.get('/arithmetic?operation=modulus&operand1=-5&operand2=-2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: -1 }); + done(); + }); + }); + it('returns the remainder of a positive and negative number', function (done) { + request.get('/arithmetic?operation=modulus&operand1=5&operand2=-2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: 1 }); + done(); + }); + }); + it('returns the remainder of a negative and positive number', function (done) { + request.get('/arithmetic?operation=modulus&operand1=-5&operand2=2') + .expect(200) + .end(function (err, res) { + expect(res.body).to.eql({ result: -1 }); + done(); + }); + }); + + + }); + }); diff --git a/test/helpers.js b/test/helpers.js index 5a80fad..5d1c70e 100644 --- a/test/helpers.js +++ b/test/helpers.js @@ -4,4 +4,4 @@ var app = require('../server'); global.app = app; global.expect = chai.expect; -global.request = supertest(app); +global.request = supertest(app); \ No newline at end of file From 1c5d9cf7a53661819b4c5db29d629c9c4a05355d Mon Sep 17 00:00:00 2001 From: hieumoscow <5441003+hieumoscow@users.noreply.github.com> Date: Sat, 23 Sep 2023 01:47:17 +0000 Subject: [PATCH 2/6] remove solution --- api/controller.js | 9 ----- public/client.js | 27 --------------- public/index.html | 41 ----------------------- test/arithmetic.test.js | 74 ----------------------------------------- 4 files changed, 151 deletions(-) diff --git a/api/controller.js b/api/controller.js index 1eee3a2..63f3493 100644 --- a/api/controller.js +++ b/api/controller.js @@ -28,15 +28,6 @@ exports.calculate = function(req, res) { 'subtract': function(a, b) { return a - b }, 'multiply': function(a, b) { return a * b }, 'divide': function(a, b) { return a / b }, - 'power': function(a, b) { return Math.pow(a, b) }, - 'modulus': function(a, b) { return a % b }, - 'sqrt': function(a) { return Math.sqrt(a) }, - 'factorial':function(a) { return factorial(a) }, - 'log': function(a) { return Math.log(a) }, - 'sin': function(a) { return Math.sin(a) }, - 'cos': function(a) { return Math.cos(a) }, - 'tan': function(a) { return Math.tan(a) }, - 'negate': function(a) { return -a } }; if (!req.query.operation) { diff --git a/public/client.js b/public/client.js index 3b606b5..94b3dd0 100644 --- a/public/client.js +++ b/public/client.js @@ -32,33 +32,6 @@ function calculate(operand1, operation, operand2 = null) { case '/': uri += "?operation=divide"; break; - case '^': - uri += "?operation=power"; - break; - case '%': - uri += "?operation=modulus"; - break; - case 'sqrt': - uri += "?operation=sqrt"; - break; - case '!': - uri += "?operation=factorial"; - break; - case 'log': - uri += "?operation=log"; - break; - case 'sin': - uri += "?operation=sin"; - break; - case 'cos': - uri += "?operation=cos"; - break; - case 'tan': - uri += "?operation=tan"; - break; - case 'neg': - uri += "?operation=negate"; - break; default: setError(); return; diff --git a/public/index.html b/public/index.html index 9351075..970f803 100644 --- a/public/index.html +++ b/public/index.html @@ -47,47 +47,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/test/arithmetic.test.js b/test/arithmetic.test.js index 314ddb0..ce30904 100644 --- a/test/arithmetic.test.js +++ b/test/arithmetic.test.js @@ -232,79 +232,5 @@ describe('Arithmetic', function () { }); }); }); - // add test for power - describe('Power', function () { - it('raises a positive integer to a positive integer power', function (done) { - request.get('/arithmetic?operation=power&operand1=2&operand2=2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 4 }); - done(); - }); - }); - it('raises a positive integer to a negative integer power', function (done) { - request.get('/arithmetic?operation=power&operand1=2&operand2=-2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 0.25 }); - done(); - }); - }); - it('raises a negative integer to a positive integer power', function (done) { - request.get('/arithmetic?operation=power&operand1=-2&operand2=2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 4 }); - done(); - }); - }); - it('raises a negative integer to a negative integer power', function (done) { - request.get('/arithmetic?operation=power&operand1=-2&operand2=-2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 0.25 }); - done(); - }); - }); - - }); - - // add test for modulus - describe('Modulus', function () { - it('returns the remainder of 2 positive numbers', function (done) { - request.get('/arithmetic?operation=modulus&operand1=5&operand2=2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 1 }); - done(); - }); - }); - it('returns the remainder of 2 negative numbers', function (done) { - request.get('/arithmetic?operation=modulus&operand1=-5&operand2=-2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: -1 }); - done(); - }); - }); - it('returns the remainder of a positive and negative number', function (done) { - request.get('/arithmetic?operation=modulus&operand1=5&operand2=-2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 1 }); - done(); - }); - }); - it('returns the remainder of a negative and positive number', function (done) { - request.get('/arithmetic?operation=modulus&operand1=-5&operand2=2') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: -1 }); - done(); - }); - }); - - - }); }); From a948495f6208cb8fb7ec4c786e56ccec242cb529 Mon Sep 17 00:00:00 2001 From: Nguyen Nhu Hieu <5441003+hieumoscow@users.noreply.github.com> Date: Tue, 26 Sep 2023 14:38:55 +0800 Subject: [PATCH 3/6] Update devcontainer.json to add GitHub.copilot-chat --- .devcontainer/devcontainer.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index ffdd4d3..3bfdc3b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,6 +11,7 @@ "vscode": { "extensions": [ "GitHub.copilot", + "GitHub.copilot-chat", "GitHub.copilot-labs" ] } From 966b030fb3bdd2148ee103d413cebc1426da4bc8 Mon Sep 17 00:00:00 2001 From: Nguyen Nhu Hieu <5441003+hieumoscow@users.noreply.github.com> Date: Tue, 26 Sep 2023 14:54:12 +0800 Subject: [PATCH 4/6] Update arithmetic.test.js --- test/arithmetic.test.js | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/test/arithmetic.test.js b/test/arithmetic.test.js index ce30904..fdf8c6c 100644 --- a/test/arithmetic.test.js +++ b/test/arithmetic.test.js @@ -92,37 +92,7 @@ describe('Arithmetic', function () { }); }); }); - -// TODO: Challenge #1 -// add tests for substraction - describe('Subtraction', function () { - it('subtracts two positive integers', function (done) { - request.get('/arithmetic?operation=subtract&operand1=21&operand2=21') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 0 }); - done(); - }); - }); - it('subtracts zero from an integer', function (done) { - request.get('/arithmetic?operation=subtract&operand1=42&operand2=0') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 42 }); - done(); - }); - }); - it('subtracts a negative integer from a positive integer', function (done) { - request.get('/arithmetic?operation=subtract&operand1=21&operand2=-42') - .expect(200) - .end(function (err, res) { - expect(res.body).to.eql({ result: 63 }); - done(); - }); - }); - }); - - + describe('Multiplication', function () { it('multiplies two positive integers', function (done) { request.get('/arithmetic?operation=multiply&operand1=21&operand2=2') @@ -232,5 +202,7 @@ describe('Arithmetic', function () { }); }); }); + + // TODO: Challenge #1 }); From 397b05c7ed507127cd29b778ba67ebc4e88382e2 Mon Sep 17 00:00:00 2001 From: Nguyen Nhu Hieu <5441003+hieumoscow@users.noreply.github.com> Date: Tue, 26 Sep 2023 14:56:22 +0800 Subject: [PATCH 5/6] Update 3. challenge exercises.md --- .instructions/3. challenge exercises.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.instructions/3. challenge exercises.md b/.instructions/3. challenge exercises.md index ac546d2..94eb603 100644 --- a/.instructions/3. challenge exercises.md +++ b/.instructions/3. challenge exercises.md @@ -16,7 +16,7 @@ Now you've had an opportunity to get started using GitHub Copilot, we have a num 4. Open the ```/test/arithmetic.test.js``` file. -5. Scroll down to the line with the comment ```TODO: Challenge #1``` (Around line 96) +5. Scroll down to the line with the comment ```TODO: Challenge #1``` (Around line 206) 6. On the line following the comment, add a new comment to provide context to GitHub Copilot on what you want assistance to do. Try adding this comment ```// add tests for subtraction``` and press ```ENTER``` to generate a suggestion. From 713a7f1128c5fc12b3ed92a1a92d0d08ed5fb577 Mon Sep 17 00:00:00 2001 From: Nguyen Nhu Hieu <5441003+hieumoscow@users.noreply.github.com> Date: Tue, 26 Sep 2023 15:12:02 +0800 Subject: [PATCH 6/6] Update controller.js --- api/controller.js | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/api/controller.js b/api/controller.js index 63f3493..50b931a 100644 --- a/api/controller.js +++ b/api/controller.js @@ -11,18 +11,6 @@ exports.calculate = function(req, res) { }); // TODO: Add operator - /** - * An object containing mathematical operations as functions. - * @typedef {Object} Operations - * @property {function} add - Adds two numbers. - * @property {function} subtract - Subtracts two numbers. - * @property {function} multiply - Multiplies two numbers. - * @property {function} divide - Divides two numbers. - * @property {function} power - Raises a number to a power. - * @property {function} mod - Returns the remainder of a division operation. - * @property {function} negate - Negates a number. - */ - var operations = { 'add': function(a, b) { return Number(a) + Number(b) }, 'subtract': function(a, b) { return a - b },