UNPKG

ptz-math

Version:

ptz-math is a library for math operations such as random()

62 lines (49 loc) 2.14 kB
import * as assert from 'ptz-assert'; import { getRandomItem, random } from './index'; describe('Math', () => { describe('random', () => { it(' 2 < randomNumber < 8', () => { const min = 2; const max = 8; const randomNumber = random(min, max); assert.ok(randomNumber >= min, 'randomNumber: ' + randomNumber + '; min:' + min); assert.ok(randomNumber <= max, 'randomNumber: ' + randomNumber + '; max:' + max); }); it(' 0 < randomNumber < 5', () => { const min = 0; const max = 5; const randomNumber = random(min, max); assert.ok(randomNumber >= min, 'randomNumber: ' + randomNumber + '; min:' + min); assert.ok(randomNumber <= max, 'randomNumber: ' + randomNumber + '; max:' + max); }); it(' 0 < randomNumber < 100', () => { const min = 0; const max = 100; const randomNumber = random(min, max); assert.ok(randomNumber >= min, 'randomNumber: ' + randomNumber + '; min:' + min); assert.ok(randomNumber <= max, 'randomNumber: ' + randomNumber + '; max:' + max); }); it(' -2 < randomNumber < 2', () => { const min = -2; const max = 2; const randomNumber = random(min, max); assert.ok(randomNumber >= min, 'randomNumber: ' + randomNumber + '; min:' + min); assert.ok(randomNumber <= max, 'randomNumber: ' + randomNumber + '; max:' + max); }); }); describe('getRandomItem', () => { it('return null for null array', () => { assert.notOk(getRandomItem(null)); assert.notOk(getRandomItem(undefined)); }); it('return first item when length equal 1', () => { const first = 'first'; assert.equal(getRandomItem([first]), first); }); it('return random item', () => { const list = ['a', 'b', 'c', 'd']; const randomItem = getRandomItem(list); assert.contains(list, randomItem); }); }); });