Skip to content
This repository has been archived by the owner on Jan 18, 2023. It is now read-only.

Commit

Permalink
📋 add missing describe block
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewagain committed May 27, 2018
1 parent bc78cfe commit 5e7e616
Showing 1 changed file with 97 additions and 95 deletions.
192 changes: 97 additions & 95 deletions src/logic/calculate.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,125 +31,127 @@ function test(buttons, expectation, only = false) {
})
}

test(['6'], { next: '6' });
describe('calculate', function() {
test(['6'], { next: '6' });

test(['6', '6'], { next: '66' });
test(['6', '6'], { next: '66' });

test(['6', '+', '6'], {
next: '6',
total: '6',
operation: '+',
});
test(['6', '+', '6'], {
next: '6',
total: '6',
operation: '+',
});

test(['6', '+', '6', '='], {
total: '12',
});
test(['6', '+', '6', '='], {
total: '12',
});

test(['0', '0', '+', '0', '='], {
total: '0',
});
test(['0', '0', '+', '0', '='], {
total: '0',
});

test(['6', '+', '6', '=', '9'], {
next: '9',
});
test(['6', '+', '6', '=', '9'], {
next: '9',
});

test(['3', '+', '6', '=', '+'], {
total: '9',
operation: '+',
});
test(['3', '+', '6', '=', '+'], {
total: '9',
operation: '+',
});

test(['3', '+', '6', '=', '+', '9'], {
total: '9',
operation: '+',
next: '9',
});
test(['3', '+', '6', '=', '+', '9'], {
total: '9',
operation: '+',
next: '9',
});

test(['3', '+', '6', '=', '+', '9', '='], {
total: '18',
});
test(['3', '+', '6', '=', '+', '9', '='], {
total: '18',
});

// When '=' is pressed and there is not enough information to complete
// an operation, the '=' should be disregarded.
test(['3', '+', '=', '3', '='], {
total: '6',
});
// When '=' is pressed and there is not enough information to complete
// an operation, the '=' should be disregarded.
test(['3', '+', '=', '3', '='], {
total: '6',
});

test(['+'], {
operation: '+',
});
test(['+'], {
operation: '+',
});

test(['+', '2'], {
next: '2',
operation: '+',
});
test(['+', '2'], {
next: '2',
operation: '+',
});

test(['+', '2', '+'], {
total: '2',
operation: '+',
});
test(['+', '2', '+'], {
total: '2',
operation: '+',
});

test(['+', '2', '+', '+'], {
total: '2',
operation: '+',
});
test(['+', '2', '+', '+'], {
total: '2',
operation: '+',
});

test(['+', '2', '+', '5'], {
next: '5',
total: '2',
operation: '+',
});
test(['+', '2', '+', '5'], {
next: '5',
total: '2',
operation: '+',
});

test(['+', '2', '5'], {
next: '25',
operation: '+',
});
test(['+', '2', '5'], {
next: '25',
operation: '+',
});

test(['+', '2', '5'], {
next: '25',
operation: '+',
});
test(['+', '2', '5'], {
next: '25',
operation: '+',
});

test(['+', '6', '+', '5', '='], {
total: '11',
});
test(['+', '6', '+', '5', '='], {
total: '11',
});

test(['0', '.', '4'], {
next: '0.4'
});
test(['0', '.', '4'], {
next: '0.4'
});

test(['.', '4'], {
next: '0.4'
});
test(['.', '4'], {
next: '0.4'
});

test(['.', '4', '-', '.', '2'], {
total: '0.4',
next: '0.2',
operation: '-'
});
test(['.', '4', '-', '.', '2'], {
total: '0.4',
next: '0.2',
operation: '-'
});

test(['.', '4', '-', '.', '2', '='], {
total: '0.2',
});
test(['.', '4', '-', '.', '2', '='], {
total: '0.2',
});

// should clear the operator when AC is pressed
test(['1', '+', '2', 'AC'], {});
test(['+', '2', 'AC'], {});
// should clear the operator when AC is pressed
test(['1', '+', '2', 'AC'], {});
test(['+', '2', 'AC'], {});

test(['4', '%'], {
next: '0.04',
});
test(['4', '%'], {
next: '0.04',
});

test(['4', '%', 'x', '2', '='], {
total: '0.08',
});
test(['4', '%', 'x', '2', '='], {
total: '0.08',
});

test(['4', '%', 'x', '2'], {
total: '0.04',
operation: 'x',
next: '2',
});
test(['4', '%', 'x', '2'], {
total: '0.04',
operation: 'x',
next: '2',
});

// the percentage sign should also act as '='
test(['2', 'x', '2', '%'], {
total: '0.04',
// the percentage sign should also act as '='
test(['2', 'x', '2', '%'], {
total: '0.04',
});
});

0 comments on commit 5e7e616

Please sign in to comment.