From 92d0969698266b72b31304a06b19eab30ae5b35f Mon Sep 17 00:00:00 2001 From: jim83531 Date: Thu, 29 Oct 2015 23:20:30 +0800 Subject: [PATCH 1/3] HW4 --- calculator.js | 15 +++++++++++++-- index.html | 4 +++- main.js | 10 ++++++++-- test/test_calculator.js | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 5 deletions(-) diff --git a/calculator.js b/calculator.js index caf34db..0b61189 100644 --- a/calculator.js +++ b/calculator.js @@ -1,5 +1,5 @@ function isNumber(numStr){ - var re = /^[0-9\.]+$/; + var re = /^-?([0-9\.])+$/; return re.test(numStr); } @@ -7,9 +7,20 @@ function add(num1, num2){ return num1 + num2; } -function substract(num1, num2){ +function sub(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.sub = sub; +module.exports.mul = mul; +module.exports.div = div; module.exports.isNumber = isNumber; diff --git a/index.html b/index.html index cc6a9d9..a8a1a1b 100644 --- a/index.html +++ b/index.html @@ -21,7 +21,9 @@

Silly Calculator

=
diff --git a/main.js b/main.js index 957a234..c16b50f 100644 --- a/main.js +++ b/main.js @@ -13,9 +13,15 @@ window.onload = function(){ if (operator == "add"){ document.getElementById('ans').value = add(num1, num2); } - else if (operator == "substract"){ - document.getElementById('ans').value = substract(num1, num2); + else if (operator == "sub"){ + document.getElementById('ans').value = sub(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 13f6205..511520c 100644 --- a/test/test_calculator.js +++ b/test/test_calculator.js @@ -6,5 +6,38 @@ describe('Calculator', function(){ it('add', function(){ assert.equal('2', cal.add(1, 1)); }) + it('add-negative', function(){ + assert.equal('-3', cal.mul(-1, -2)); + }) + }) +}) +describe('Calculator', function(){ + describe('sub', function(){ + it('sub', function(){ + assert.equal('3', cal.sub(4, 1)); + }) + it('sub-negative', function(){ + assert.equal('-5', cal.mul(-1, 4)); + }) + }) +}) +describe('Calculator', function(){ + describe('mul', function(){ + it('mul', function(){ + assert.equal('2', cal.mul(1, 2)); + }) + it('mul-negative', function(){ + assert.equal('-1', cal.mul(-1,1)); + }) + }) +}) +describe('Calculator', function(){ + describe('div', function(){ + it('div', function(){ + assert.equal('3', cal.div(3, 1)); + }) + it('div-negative', function(){ + assert.equal('-3', cal.mul(-1,1)); + }) }) }) From a3249abcaedded3b8e31d5f70586c2b6f84d37d0 Mon Sep 17 00:00:00 2001 From: jim83531 Date: Thu, 29 Oct 2015 23:22:20 +0800 Subject: [PATCH 2/3] fix mistakes --- test/test_calculator.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_calculator.js b/test/test_calculator.js index 511520c..38e363c 100644 --- a/test/test_calculator.js +++ b/test/test_calculator.js @@ -27,7 +27,7 @@ describe('Calculator', function(){ assert.equal('2', cal.mul(1, 2)); }) it('mul-negative', function(){ - assert.equal('-1', cal.mul(-1,1)); + assert.equal('-1', cal.mul(-1, 1)); }) }) }) @@ -37,7 +37,7 @@ describe('Calculator', function(){ assert.equal('3', cal.div(3, 1)); }) it('div-negative', function(){ - assert.equal('-3', cal.mul(-1,1)); + assert.equal('-3', cal.mul(3, -1)); }) }) }) From 1b7afa0f6132e7aa9197ac9a11358bfeb2de5662 Mon Sep 17 00:00:00 2001 From: jim83531 Date: Fri, 30 Oct 2015 09:27:11 +0800 Subject: [PATCH 3/3] FIX MISTAKE #2 --- test/test_calculator.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/test/test_calculator.js b/test/test_calculator.js index 38e363c..4a9a98d 100644 --- a/test/test_calculator.js +++ b/test/test_calculator.js @@ -7,7 +7,10 @@ describe('Calculator', function(){ assert.equal('2', cal.add(1, 1)); }) it('add-negative', function(){ - assert.equal('-3', cal.mul(-1, -2)); + assert.equal('-3', cal.add(-1, -2)); + }) + it('add-decimal_point', function(){ + assert.equal('2.3', cal.add(1.1, 1.2)); }) }) }) @@ -17,7 +20,10 @@ describe('Calculator', function(){ assert.equal('3', cal.sub(4, 1)); }) it('sub-negative', function(){ - assert.equal('-5', cal.mul(-1, 4)); + assert.equal('-5', cal.sub(-1, 4)); + }) + it('sub-decimal_point', function(){ + assert.equal('3.4', cal.sub(4.0, 0.6)); }) }) }) @@ -29,6 +35,9 @@ describe('Calculator', function(){ it('mul-negative', function(){ assert.equal('-1', cal.mul(-1, 1)); }) + it('mul-decimal_point', function(){ + assert.equal('0.25', cal.mul(0.5, 0.5)); + }) }) }) describe('Calculator', function(){ @@ -37,7 +46,10 @@ describe('Calculator', function(){ assert.equal('3', cal.div(3, 1)); }) it('div-negative', function(){ - assert.equal('-3', cal.mul(3, -1)); + assert.equal('-3', cal.div(3, -1)); + }) + it('div-decimal_point', function(){ + assert.equal('0.3', cal.div(0.6, 2)); }) }) })