Added jest

Removed generator-exercises folder as it breaks jest-codemods

run jest-codemods on .spec.js files, move generator-exercises back in

Change references from Jasmine to Jest in main readme

Update README with Jest specific language. Update some spec files with new syntax

update tests, multiple exercises

.gitignore: Added package-lock.json, package.json that were used when I ran code-blocks over the tests.

Standardised function declaration calls across exercises

fix typo in caesar.spec.js

Ignoring package-lock.json, package.json

Backtrack on .gitignore modification, add instructions to readme

move files from testing repo to this repo

Typo fixes, remove duplicate exercise folder

Remove solution from non-solution branch

Minor grammatical fixes

added trailing semicolon to all function and module exports

Fix words caught by search/replace action.

remove doubled semicolon.

Correct words caught by search/replace action.

Add missing semicolon.

Add .DS_Store to .gitignore

multiple files: Added a blank line at the end of each file

Ignore generator-exercise when linting exercise files

Update exercise number of each exercise

Update exercise number
This commit is contained in:
Michael Frank
2021-03-03 15:13:24 +13:00
committed by Kevin Mulhern
parent 4c771f2e05
commit 5708c3d85a
53 changed files with 6259 additions and 322 deletions
+4 -2
View File
@@ -1,6 +1,8 @@
# Exercise 08 - Calculator
The goal for this exercise is to create a calculator that does the following:
add, subtract, get the sum, multiply, get the power, and find the factorial
In order to do this please fill out each function with your solution. Make sure to return the value so you can test it in Jasmine! To see the expected value
take a look at the spec file that houses the Jasmine test cases.
In order to do this please fill out each function with your solution. Make sure to return the value so you can test it in Jest! To see the expected value
take a look at the spec file that houses the Jest test cases.
+21 -21
View File
@@ -1,32 +1,32 @@
function add () {
const add = function() {
}
};
function subtract () {
const subtract = function() {
}
};
function sum () {
const sum = function() {
}
};
function multiply () {
}
const multiply = function() {
function power() {
}
};;
function factorial() {
const power = function() {
}
};
const factorial = function() {
};
module.exports = {
add,
subtract,
sum,
multiply,
power,
factorial
}
add,
subtract,
sum,
multiply,
power,
factorial
};
+39 -39
View File
@@ -1,77 +1,77 @@
const calculator = require ('./calculator.js');
const calculator = require('./calculator');
describe('add', function() {
it('adds 0 and 0', function() {
expect(calculator.add(0,0)).toEqual(0);
describe('add', () => {
test('adds 0 and 0', () => {
expect(calculator.add(0,0)).toBe(0);
});
xit('adds 2 and 2', function() {
expect(calculator.add(2,2)).toEqual(4);
test.skip('adds 2 and 2', () => {
expect(calculator.add(2,2)).toBe(4);
});
xit('adds positive numbers', function() {
expect(calculator.add(2,6)).toEqual(8);
test.skip('adds positive numbers', () => {
expect(calculator.add(2,6)).toBe(8);
});
});
describe('subtract', function() {
xit('subtracts numbers', function() {
expect(calculator.subtract(10,4)).toEqual(6);
describe('subtract', () => {
test.skip('subtracts numbers', () => {
expect(calculator.subtract(10,4)).toBe(6);
});
});
describe('sum', function() {
xit('computes the sum of an empty array', function() {
expect(calculator.sum([])).toEqual(0);
describe('sum', () => {
test.skip('computes the sum of an empty array', () => {
expect(calculator.sum([])).toBe(0);
});
xit('computes the sum of an array of one number', function() {
expect(calculator.sum([7])).toEqual(7);
test.skip('computes the sum of an array of one number', () => {
expect(calculator.sum([7])).toBe(7);
});
xit('computes the sum of an array of two numbers', function() {
expect(calculator.sum([7,11])).toEqual(18);
test.skip('computes the sum of an array of two numbers', () => {
expect(calculator.sum([7,11])).toBe(18);
});
xit('computes the sum of an array of many numbers', function() {
expect(calculator.sum([1,3,5,7,9])).toEqual(25);
test.skip('computes the sum of an array of many numbers', () => {
expect(calculator.sum([1,3,5,7,9])).toBe(25);
});
});
describe('multiply', function() {
xit('multiplies two numbers', function() {
expect(calculator.multiply([2,4])).toEqual(8);
describe('multiply', () => {
test.skip('multiplies two numbers', () => {
expect(calculator.multiply([2,4])).toBe(8);
});
xit('multiplies several numbers', function() {
expect(calculator.multiply([2,4,6,8,10,12,14])).toEqual(645120);
test.skip('multiplies several numbers', () => {
expect(calculator.multiply([2,4,6,8,10,12,14])).toBe(645120);
});
});
describe('power', function() {
xit('raises one number to the power of another number', function() {
expect(calculator.power(4,3)).toEqual(64); // 4 to third power is 64
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
});
});
describe('factorial', function() {
xit('computes the factorial of 0', function() {
expect(calculator.factorial(0)).toEqual(1); // 0! = 1
describe('factorial', () => {
test.skip('computes the factorial of 0', () => {
expect(calculator.factorial(0)).toBe(1); // 0! = 1
});
xit('computes the factorial of 1', function() {
expect(calculator.factorial(1)).toEqual(1);
test.skip('computes the factorial of 1', () => {
expect(calculator.factorial(1)).toBe(1);
});
xit('computes the factorial of 2', function() {
expect(calculator.factorial(2)).toEqual(2);
test.skip('computes the factorial of 2', () => {
expect(calculator.factorial(2)).toBe(2);
});
xit('computes the factorial of 5', function() {
expect(calculator.factorial(5)).toEqual(120);
test.skip('computes the factorial of 5', () => {
expect(calculator.factorial(5)).toBe(120);
});
xit('computes the factorial of 10', function() {
expect(calculator.factorial(10)).toEqual(3628800);
test.skip('computes the factorial of 10', () => {
expect(calculator.factorial(10)).toBe(3628800);
});
});