@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
JavaScript
;
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);
});
});