UNPKG

1.3 kBJavaScriptView Raw
1'use strict';
2var divisible = require('../src/divisible'),
3 assert = require('chai').assert;
4
5describe('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