Skip to content

Commit 7492c87

Browse files
committedNov 25, 2016
Add parameterised test
1 parent 37a394d commit 7492c87

File tree

1 file changed

+21
-44
lines changed

1 file changed

+21
-44
lines changed
 

‎src/index.spec.js

Lines changed: 21 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,36 @@
11
import { expect } from 'chai';
2+
import forEach from 'mocha-each';
23

34
import diff from './';
45

56
describe('.diff', () => {
67

78
describe('base case', () => {
89
describe('equal', () => {
9-
it('returns empty object when given ints are equal', () => {
10-
expect(diff(1, 1)).to.deep.equal({});
11-
});
12-
13-
it('returns empty object when given strings are equal', () => {
14-
expect(diff('a', 'a')).to.deep.equal({});
15-
});
16-
17-
it('returns empty object when given booleans are equal', () => {
18-
expect(diff(true, true)).to.deep.equal({});
19-
});
20-
21-
it('returns empty object when given parameters are null', () => {
22-
expect(diff(null, null)).to.deep.equal({});
23-
});
24-
25-
it('returns empty object when given parameters are undefined', () => {
26-
expect(diff(undefined, undefined)).to.deep.equal({});
27-
});
28-
29-
it('returns empty object when given objects are equal', () => {
30-
expect(diff({ a: 1 }, { a: 1 })).to.deep.equal({});
31-
});
32-
33-
it('returns empty object when given arrays are equal', () => {
34-
expect(diff([1], [1])).to.deep.equal({});
10+
forEach([
11+
['int', 1],
12+
['string', 'a'],
13+
['boolean', true],
14+
['null', null],
15+
['undefined', undefined],
16+
['object', { a: 1 }],
17+
['array', [1]],
18+
]).it('returns empty object when given values of type %s are equal', (type, value) => {
19+
expect(diff(value, value)).to.deep.equal({});
3520
});
3621
});
3722

3823
describe('not equal and not object', () => {
39-
it('returns right hand side value when given ints are different', () => {
40-
expect(diff(1, 2)).to.deep.equal(2);
41-
});
42-
43-
it('returns right hand side value when given strings are different', () => {
44-
expect(diff('a', 'b')).to.deep.equal('b');
45-
});
46-
47-
it('returns right hand side value when given booleans are different', () => {
48-
expect(diff(true, false)).to.deep.equal(false);
49-
});
50-
51-
it('returns right hand side value when given values are not both null', () => {
52-
expect(diff('hello', null)).to.deep.equal(null);
53-
});
54-
55-
it('returns right hand side value when given values are not both undefined', () => {
56-
expect(diff('hello', undefined)).to.deep.equal(undefined);
24+
forEach([
25+
[1, 2],
26+
['a', 'b'],
27+
[true, false],
28+
['hello', null],
29+
['hello', undefined],
30+
[null, undefined],
31+
[undefined, null]
32+
]).it('returns right hand side value when different to left hand side value (%s, %s)', (lhs, rhs) => {
33+
expect(diff(lhs, rhs)).to.deep.equal(rhs);
5734
});
5835
});
5936
});

0 commit comments

Comments
 (0)
Please sign in to comment.