Files
30-seconds-of-code/test/sampleSize/sampleSize.test.js
2018-06-18 15:54:48 +03:00

26 lines
793 B
JavaScript

const expect = require('expect');
const sampleSize = require('./sampleSize.js');
test('sampleSize is a Function', () => {
expect(sampleSize).toBeInstanceOf(Function);
});
const arr = [3,7,9,11];
test('Returns a single element without n specified', () => {
expect(sampleSize(arr).length, 1).toBe()
});
test('Returns a random sample of specified size from an array', () => {
expect(sampleSize(arr, 2).every(x => arr.includes(x))).toBeTruthy();
});
test('Returns all elements in an array if n >= length', () => {
expect(sampleSize(arr, 5).length, 4).toBe()
});
test('Returns an empty array if original array is empty', () => {
expect(sampleSize([], 2), []).toEqual()
});
test('Returns an empty array if n = 0', () => {
expect(sampleSize(arr, 0), []).toEqual()
});