1 | 'use strict';
|
2 | var divisible = require('../src/divisible'),
|
3 | assert = require('chai').assert;
|
4 |
|
5 | describe('divisible', function() {
|
6 | it('checks whether divisor is a finite number', function() {
|
7 | assert.throws(function() {
|
8 | divisible('0');
|
9 | }, TypeError, /is not a finite number/);
|
10 | });
|
11 |
|
12 | it('checks whether divisor is not 0', function() {
|
13 | assert.throws(function() {
|
14 | divisible(0);
|
15 | }, Error, /cannot be 0/);
|
16 | });
|
17 |
|
18 | it('returns a function if only 1 argument provided', function() {
|
19 | assert.ok(divisible(10));
|
20 | });
|
21 |
|
22 | it('checks whether number is divisible by a given divisor', function() {
|
23 | assert.ok(divisible(10, 100));
|
24 | assert.ok(divisible(10)(100));
|
25 | assert.ok(divisible(2, 2));
|
26 | assert.ok(divisible(2)(2));
|
27 |
|
28 | assert.ok(divisible(10, 4) === false);
|
29 | assert.ok(divisible(10)(4) === false);
|
30 | assert.ok(divisible(2, 1) === false);
|
31 | assert.ok(divisible(2)(1) === false);
|
32 | });
|
33 |
|
34 | it('returns always false if a tested value is not a number', function() {
|
35 | assert.ok(divisible(10, '5') === false);
|
36 | assert.ok(divisible(10)('5') === false);
|
37 | assert.ok(divisible(10, {}) === false);
|
38 | assert.ok(divisible(10)({}) === false);
|
39 | });
|
40 | }); |
\ | No newline at end of file |