From 12f9ffe92dff6761b0c5302a672fb0a32090a380 Mon Sep 17 00:00:00 2001 From: mike19941215 Date: Sun, 25 Oct 2015 14:30:56 +0800 Subject: [PATCH 1/5] add.sub --- calculator.js | 1 + test/test_calculator.js | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/calculator.js b/calculator.js index caf34db..18d6383 100644 --- a/calculator.js +++ b/calculator.js @@ -12,4 +12,5 @@ function substract(num1, num2){ } module.exports.add = add; +module.exports.substract = substract; module.exports.isNumber = isNumber; diff --git a/test/test_calculator.js b/test/test_calculator.js index 13f6205..62a5502 100644 --- a/test/test_calculator.js +++ b/test/test_calculator.js @@ -7,4 +7,10 @@ describe('Calculator', function(){ assert.equal('2', cal.add(1, 1)); }) }) + + describe('substract', function(){ + it('substract',function(){ + assert.equal('1' , cal.substract(2,1)); + }) + }) }) From c91de514c62a65d12bd8ec20bc3c09cb8efad8e2 Mon Sep 17 00:00:00 2001 From: mike19941215 Date: Sun, 25 Oct 2015 14:39:46 +0800 Subject: [PATCH 2/5] mul,div --- calculator.js | 10 ++++++++++ index.html | 2 ++ main.js | 6 ++++++ test/test_calculator.js | 12 ++++++++++++ 4 files changed, 30 insertions(+) diff --git a/calculator.js b/calculator.js index 18d6383..6a0578b 100644 --- a/calculator.js +++ b/calculator.js @@ -11,6 +11,16 @@ function substract(num1, num2){ return num1 - num2; } +function mul(num1, num2){ + return num1 * num2; +} + +function div(num1, num2){ + return num1 / num2; +} + module.exports.add = add; module.exports.substract = substract; +module.exports.mul = mul; +module.exports.div = div; module.exports.isNumber = isNumber; diff --git a/index.html b/index.html index cc6a9d9..2a3e6c6 100644 --- a/index.html +++ b/index.html @@ -22,6 +22,8 @@

Silly Calculator

=
diff --git a/main.js b/main.js index 957a234..e185155 100644 --- a/main.js +++ b/main.js @@ -15,6 +15,12 @@ window.onload = function(){ } else if (operator == "substract"){ document.getElementById('ans').value = substract(num1, num2); + } + else if (operator == "mul"){ + document.getElementById('ans').value = mul(num1, num2); + } + else if (operator == "div"){ + document.getElementById('ans').value = div(num1, num2); } else { alert("Bad operator!") diff --git a/test/test_calculator.js b/test/test_calculator.js index 62a5502..e89ba15 100644 --- a/test/test_calculator.js +++ b/test/test_calculator.js @@ -13,4 +13,16 @@ describe('Calculator', function(){ assert.equal('1' , cal.substract(2,1)); }) }) + + describe('mul', function(){ + it('mul',function(){ + assert.equal('6' , cal.mul(2,3)); + }) + }) + + describe('div', function(){ + it('div',function(){ + assert.equal('0.5' , cal.div(1,2)); + }) + }) }) From 905f4d21386778e732f143054dfa48f546209616 Mon Sep 17 00:00:00 2001 From: mike19941215 Date: Sun, 25 Oct 2015 15:03:21 +0800 Subject: [PATCH 3/5] Negative path --- calculator.js | 2 +- test/test_calculator.js | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/calculator.js b/calculator.js index 6a0578b..40d8407 100644 --- a/calculator.js +++ b/calculator.js @@ -1,5 +1,5 @@ function isNumber(numStr){ - var re = /^[0-9\.]+$/; + var re = /^-?[0-9]+(.?[0-9]+)?$/; return re.test(numStr); } diff --git a/test/test_calculator.js b/test/test_calculator.js index e89ba15..82a9a5d 100644 --- a/test/test_calculator.js +++ b/test/test_calculator.js @@ -2,27 +2,25 @@ var assert = require('assert'); var cal = require('../calculator.js') describe('Calculator', function(){ - describe('add', function(){ it('add', function(){ assert.equal('2', cal.add(1, 1)); }) - }) - describe('substract', function(){ it('substract',function(){ assert.equal('1' , cal.substract(2,1)); }) - }) - describe('mul', function(){ it('mul',function(){ assert.equal('6' , cal.mul(2,3)); }) - }) - describe('div', function(){ it('div',function(){ assert.equal('0.5' , cal.div(1,2)); }) - }) +}) + +describe('Negative path', function(){ + it('isNumber',function(){ + assert.equal(false,cal.isNumber('13A')); + }) }) From 5d3d83b22b27e70c0e68fe96cad858b402d87925 Mon Sep 17 00:00:00 2001 From: mike19941215 Date: Fri, 30 Oct 2015 13:12:04 +0800 Subject: [PATCH 4/5] sinon --- index.html | 4 ++-- test/test_calculator.js | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 2a3e6c6..92c7fb4 100644 --- a/index.html +++ b/index.html @@ -22,8 +22,8 @@

Silly Calculator

=
diff --git a/test/test_calculator.js b/test/test_calculator.js index 82a9a5d..302d86f 100644 --- a/test/test_calculator.js +++ b/test/test_calculator.js @@ -1,5 +1,6 @@ var assert = require('assert'); var cal = require('../calculator.js') +var sinon = require('sinon'); describe('Calculator', function(){ it('add', function(){ @@ -24,3 +25,12 @@ describe('Negative path', function(){ assert.equal(false,cal.isNumber('13A')); }) }) + +describe('Sinon', function(){ + it('stub mul function',function(){ + var stub = sinon.stub().returns(30); + var proxy = cal.mul(stub(), 5); + + assert.equal(150, proxy); + }) +}) From c0bc731ef3081d831cc0deb709f7c9172697bf5c Mon Sep 17 00:00:00 2001 From: mike19941215 Date: Fri, 30 Oct 2015 13:22:42 +0800 Subject: [PATCH 5/5] sinon V2 --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d727f6d..5783ea8 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ "author": "Askeing Yen & Shing Lyu", "license": "MPLv2", "dependencies": { - "mocha": "~2.3.2" + "mocha": "~2.3.2", + "sinon": "1.17.2" }, "repository":{} }