X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Futils.test.js;h=c00f0307d45b257da730c3cb55f72ba96f15789c;hb=98446b391031d7add0e0d7f7e310e25a014370e2;hp=76abf04645ef4fa6e70b7e88e97ea25a611dde89;hpb=fe8c464daf95d41241d675808d71b955025c1bd2;p=poolifier.git diff --git a/tests/utils.test.js b/tests/utils.test.js index 76abf046..c00f0307 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,12 +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') @@ -23,6 +26,23 @@ describe('Utils test suite', () => { expect(Number.isSafeInteger(availableParallelism())).toBe(true) }) + it('Verify sleep() behavior', async () => { + const now = performance.now() + await sleep(1000) + const elapsed = performance.now() - now + expect(elapsed).toBeGreaterThanOrEqual(1000) + }) + + it('Verify exponentialDelay() behavior', () => { + expect(typeof exponentialDelay(randomInt(1000)) === 'number').toBe(true) + expect(exponentialDelay(randomInt(1000))).toBeGreaterThanOrEqual( + Number.MIN_VALUE + ) + expect(exponentialDelay(randomInt(1000))).toBeLessThanOrEqual( + Number.MAX_VALUE + ) + }) + it('Verify average() computation', () => { expect(average([])).toBe(0) expect(average([0.08])).toBe(0.08)