Files
30-seconds-of-code/test/collatz.test.js
2018-10-19 20:18:00 +03:00

23 lines
484 B
JavaScript

const expect = require('expect');
const {collatz} = require('./_30s.js');
test('collatz is a Function', () => {
expect(collatz).toBeInstanceOf(Function);
});
test('When n is even, divide by 2', () => {
expect(collatz(8)).toBe(4);
});
test('When n is odd, times by 3 and add 1', () => {
expect(collatz(9)).toBe(28);
});
test('Eventually reaches 1', () => {
let n = 9;
while (true) {
if (n === 1) {
expect(n).toBe(1);
break;
}
n = collatz(n);
}
});