Skip to content

Instantly share code, notes, and snippets.

@madodela
Created April 5, 2016 20:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save madodela/03e8efe68e5c1a024cbf1c1946ef4b0e to your computer and use it in GitHub Desktop.
Save madodela/03e8efe68e5c1a024cbf1c1946ef4b0e to your computer and use it in GitHub Desktop.
Basic Calculator tested with Jasmine
var Calculator = {
add: function (addend1, addend2) {
return addend1 + addend2; // sum
},
sub: function (minuend, subtrahend) {
return minuend - subtrahend; //difference
},
div: function (dividend, divisor) {
return divisor && dividend/divisor; //quotient
},
mul: function (multiplicand, multiplier) {
return multiplicand * multiplier; //product
}
};
<html>
<head>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.3/jasmine.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.3/jasmine.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.3/jasmine-html.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.3.3/boot.min.js"></script>
</head>
<body>
<script type="text/javascript" src="Calculator.js"></script>
<script type="text/javascript" src="tests.js"></script>
</body>
</html>
describe('calculator', function () {
//Numbers from 1-100, 5 round of test
for (var i=5; i>0; i--){
var number1 = Math.floor((Math.random() * 100) + 1),
number2 = Math.floor((Math.random() * 100) + 1);
it('should add ' + number1 + ' plus ' +number2 + ' and be equals to ' + (number1 + number2), function () {
expect(Calculator.add(number1, number2)).toBe(number1 + number2);
});
it('should subtract' + number1 + ' from ' +number2 + ' and be equals to ' + (number1 - number2), function () {
expect(Calculator.sub(number1, number2)).toBe(number1 - number2);
});
it('should multiply ' +number1 + 'x' + number2 + ' and be equals to ' + (number1*number2), function () {
expect(Calculator.mul(number1, number2)).toBe(number1 * number2);
});
it('should divide ' + number1 + '/' + number2 + ' and be equals to ' + (number2 && number1/number2), function () {
expect(Calculator.div(number1, number2)).toBe(number2 && number1/number2);
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment