From b1314cf6fcd5f38e8a7a5c19cab9d9f8605ff3e0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sat, 6 Jan 2024 20:34:20 +0100 Subject: [PATCH] test: add IWRR reset() test MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- ...ound-robin-worker-choice-strategy.test.mjs | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) 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..063c7a46 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,7 +20,7 @@ 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) @@ -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) + }) }) -- 2.34.1