Files
30-seconds-of-code/test/memoize.test.js
Angelos Chalaris e35777176f Additional tests
2018-11-10 12:01:25 +02:00

21 lines
563 B
JavaScript

const expect = require('expect');
const {memoize} = require('./_30s.js');
test('memoize is a Function', () => {
expect(memoize).toBeInstanceOf(Function);
});
const f = x => x * x;
const square = memoize(f);
test('Function works properly', () => {
expect(square(2)).toBe(4);
});
test('Function works properly', () => {
expect(square(3)).toBe(9);
});
test('Function works properly, cache stores values (coverage)', () => {
expect(square(3)).toBe(9);
});
test('Cache stores values', () => {
expect(Array.from(square.cache)).toEqual([[2, 4], [3, 9]]);
});