'use strict'; import * as helpers from './helpers'; import * as random from './random'; import log4js from 'log4js'; import 'should'; /** * @test {random} */ describe('random', () => { const logger = log4js.getLogger('test'); before(() => { log4js.configure(helpers.assembleLog4jsConfig()); }); /** * @test {getIntegerBetween} */ describe('getIntegerBetween', () => { /** * @test {getIntegerBetween} */ it('should return random integer between two specified inclusive integers', () => { let numbers = new Set(); for (let i = 0; i < 100; ++i) { let number = random.getIntegerBetween(28, 101); logger.info('Generated number', number); number.should.be.greaterThanOrEqual(28); number.should.be.lessThanOrEqual(101); numbers.add(number); } numbers.size.should.be.greaterThan(10); }); /** * @test {getIntegerBetween} */ it('should return random integer between two specified floats', () => { let numbers = new Set(); for (let i = 0; i < 100; ++i) { let number = random.getIntegerBetween(28.5, 101.5); logger.info('Generated number', number); number.should.be.greaterThanOrEqual(29); number.should.be.lessThanOrEqual(101); numbers.add(number); } numbers.size.should.be.greaterThan(10); }); /** * @test {getIntegerBetween} */ it('should return random integer between two negative numbers', () => { let numbers = new Set(); for (let i = 0; i < 100; ++i) { let number = random.getIntegerBetween(-101.5, -28.5); logger.info('Generated number', number); number.should.be.greaterThanOrEqual(-102); number.should.be.lessThanOrEqual(-28); numbers.add(number); } numbers.size.should.be.greaterThan(10); }); }); /** * @test {getIntegerAround} */ describe('getIntegerAround', () => { /** * @test {getIntegerAround} */ it('should return integer around specified one', () => { let numbers = new Set(); for (let i = 0; i < 100; ++i) { let number = random.getIntegerAround(28, 0.5); logger.info('Generated number', number); number.should.be.greaterThanOrEqual(14); number.should.be.lessThanOrEqual(42); numbers.add(number); } numbers.size.should.be.greaterThan(5); }); }); });