Files
rss-nostr-lambda/node_modules/bellajs/src/utils/random.test.js
T

56 lines
1.3 KiB
JavaScript
Executable File

// random.test
/* eslint-env jest */
import { randint, genid } from './random.js'
describe('test .randint() method:', () => {
const randArr = []
while (randArr.length < 20) {
randArr.push(randint())
}
test(`test .randint() after ${randArr.length} times`, () => {
expect(randArr).toHaveLength(20)
const uniqVal = Array.from(new Set(randArr))
expect(uniqVal.length).toBeGreaterThan(10)
})
test('test .randint() with same min/max', () => {
const q = randint(10, 10)
expect(q).toEqual(10)
})
const min = 50
const max = 80
test(`test .randint() between ${min} - ${max}`, () => {
for (let i = 0; i < 100; i++) {
const q = randint(min, max)
expect(q).toBeGreaterThanOrEqual(min)
expect(q).toBeLessThanOrEqual(max)
}
})
})
describe('test .genid() method:', () => {
test('check .genid() default param', () => {
const actual = genid()
expect(actual).toHaveLength(32)
})
test('check .genid(512)', () => {
const actual = genid(512)
expect(actual).toHaveLength(512)
})
const len = 100
const ids = []
while (ids.length < len) {
ids.push(genid())
}
const uniques = Array.from(new Set(ids))
test('check .genid() always return unique string', () => {
expect(ids).toHaveLength(len)
expect(uniques).toHaveLength(ids.length)
})
})