UNPKG

@qntm-code/utils

Version:

A collection of useful utility functions with associated TypeScript types. All functions have been unit tested.

40 lines (39 loc) 2.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const number_array_from_range_1 = require("number-array-from-range"); const randomNumberBetweenRange_1 = require("./randomNumberBetweenRange"); describe('randomNumberBetweenRange', () => { it('should generate a random number between two positive numbers', () => { const possibleValues = (0, number_array_from_range_1.numberArrayFromRange)(2, 10); const value = (0, randomNumberBetweenRange_1.randomNumberBetweenRange)(2, 10); expect(possibleValues.includes(value)).toBe(true); }); it('should generate a random number between two negative numbers', () => { const possibleValues = (0, number_array_from_range_1.numberArrayFromRange)(-200, -11); const value = (0, randomNumberBetweenRange_1.randomNumberBetweenRange)(-200, -11); expect(possibleValues.includes(value)).toBe(true); }); it('should generate a random number between a positive and negative number', () => { const possibleValues = (0, number_array_from_range_1.numberArrayFromRange)(-8, 5); const value = (0, randomNumberBetweenRange_1.randomNumberBetweenRange)(-8, 5); expect(possibleValues.includes(value)).toBe(true); }); it('should generate a random number between decimals', () => { const possibleValues = (0, number_array_from_range_1.numberArrayFromRange)(-2.2, 4.8); const value = (0, randomNumberBetweenRange_1.randomNumberBetweenRange)(-2.2, 4.8); expect(possibleValues.includes(value)).toBe(true); }); it('should be able to return the min or max number', () => { const min = 0; const max = 1; const maxAttempts = 10000; let attempt = 0; const results = []; while ((!results.includes(min) || !results.includes(max)) && attempt < maxAttempts) { results.push((0, randomNumberBetweenRange_1.randomNumberBetweenRange)(min, max)); attempt++; } expect(results.includes(min)).toBe(true); expect(results.includes(max)).toBe(true); }); });