X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Futils.test.js;h=6cfe99ae2f1198592d940bd0b1414d4fa038bb36;hb=be71219a2e687e8a46a167503df4f5620807db0b;hp=97b5e8a985bd9569efe405c813740b4551c4c607;hpb=dc021bcca72f8b4d185d96a301579612fba2793b;p=poolifier.git diff --git a/tests/utils.test.js b/tests/utils.test.js index 97b5e8a9..6cfe99ae 100644 --- a/tests/utils.test.js +++ b/tests/utils.test.js @@ -1,3 +1,4 @@ +const { randomInt } = require('crypto') const { expect } = require('expect') const { CircularArray, @@ -6,11 +7,14 @@ const { const { availableParallelism, average, + exponentialDelay, isAsyncFunction, isKillBehavior, isPlainObject, median, round, + secureRandom, + sleep, updateMeasurementStatistics } = require('../lib/utils') const { KillBehaviors } = require('../lib/worker/worker-options') @@ -22,6 +26,20 @@ describe('Utils test suite', () => { expect(Number.isSafeInteger(availableParallelism())).toBe(true) }) + it.skip('Verify sleep() behavior', async () => { + const start = performance.now() + await sleep(1000) + const elapsed = performance.now() - start + expect(elapsed).toBeGreaterThanOrEqual(1000) + }) + + it('Verify exponentialDelay() behavior', () => { + const delay = exponentialDelay(randomInt(1000)) + expect(typeof delay === 'number').toBe(true) + expect(delay).toBeGreaterThanOrEqual(Number.MIN_VALUE) + expect(delay).toBeLessThanOrEqual(Number.MAX_VALUE) + }) + it('Verify average() computation', () => { expect(average([])).toBe(0) expect(average([0.08])).toBe(0.08) @@ -196,4 +214,11 @@ describe('Utils test suite', () => { history: new CircularArray(DEFAULT_CIRCULAR_ARRAY_SIZE, 0.001, 0.003) }) }) + + it('Verify secureRandom() behavior', () => { + const randomNumber = secureRandom() + expect(typeof randomNumber === 'number').toBe(true) + expect(randomNumber).toBeGreaterThanOrEqual(0) + expect(randomNumber).toBeLessThan(1) + }) })