X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fselection-strategies%2Fweighted-round-robin-worker-choice-strategy.test.mjs;h=5beffafac1b2d1ba5bdc9bcc845475abd4754698;hb=0e8691794db51210b4bcc6af77d54326583a269a;hp=286bc44e55f2a9c200101415ae8639b78e21e47a;hpb=a1fef95af19c910001ae6cae7218d11282ce9e0a;p=poolifier.git diff --git a/tests/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.test.mjs b/tests/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.test.mjs index 286bc44e..5beffafa 100644 --- a/tests/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.test.mjs +++ b/tests/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.test.mjs @@ -1,6 +1,7 @@ import { randomInt } from 'node:crypto' import { expect } from 'expect' import { FixedThreadPool } from '../../../lib/index.cjs' +import { InterleavedWeightedRoundRobinWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/interleaved-weighted-round-robin-worker-choice-strategy.cjs' import { WeightedRoundRobinWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.cjs' describe('Weighted round robin strategy worker choice strategy test suite', () => { @@ -19,11 +20,11 @@ describe('Weighted round robin strategy worker choice strategy test suite', () = await pool.destroy() }) - it('Verify that reset() resets internals', () => { + it('Verify that WRR reset() resets internals', () => { const strategy = new WeightedRoundRobinWorkerChoiceStrategy(pool) - strategy.nextWorkerNodeKey = randomInt(1, 281474976710655) - strategy.previousWorkerNodeKey = randomInt(1, 281474976710655) - strategy.workerNodeVirtualTaskRunTime = randomInt(1, 281474976710655) + strategy.nextWorkerNodeKey = randomInt(1, 281474976710656) + strategy.previousWorkerNodeKey = randomInt(1, 281474976710656) + strategy.workerNodeVirtualTaskRunTime = randomInt(1, 281474976710656) expect(strategy.nextWorkerNodeKey).toBeGreaterThan(0) expect(strategy.previousWorkerNodeKey).toBeGreaterThan(0) expect(strategy.workerNodeVirtualTaskRunTime).toBeGreaterThan(0) @@ -32,4 +33,24 @@ describe('Weighted round robin strategy worker choice strategy test suite', () = expect(strategy.previousWorkerNodeKey).toBe(0) expect(strategy.workerNodeVirtualTaskRunTime).toBe(0) }) + + it('Verify that IWRR reset() resets internals', () => { + const strategy = new InterleavedWeightedRoundRobinWorkerChoiceStrategy(pool) + strategy.nextWorkerNodeKey = randomInt(1, 281474976710656) + strategy.previousWorkerNodeKey = randomInt(1, 281474976710656) + strategy.roundId = randomInt(1, 281474976710656) + strategy.workerNodeId = randomInt(1, 281474976710656) + strategy.workerNodeVirtualTaskRunTime = randomInt(1, 281474976710656) + expect(strategy.nextWorkerNodeKey).toBeGreaterThan(0) + expect(strategy.previousWorkerNodeKey).toBeGreaterThan(0) + expect(strategy.roundId).toBeGreaterThan(0) + expect(strategy.workerNodeId).toBeGreaterThan(0) + expect(strategy.workerNodeVirtualTaskRunTime).toBeGreaterThan(0) + expect(strategy.reset()).toBe(true) + expect(strategy.nextWorkerNodeKey).toBe(0) + expect(strategy.previousWorkerNodeKey).toBe(0) + expect(strategy.roundId).toBe(0) + expect(strategy.workerNodeId).toBe(0) + expect(strategy.workerNodeVirtualTaskRunTime).toBe(0) + }) })