1 import { expect } from 'expect'
2 import { restore } from 'sinon'
3 import { FixedThreadPool } from '../../../lib/index.js'
4 import { WeightedRoundRobinWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/weighted-round-robin-worker-choice-strategy.js'
5 import { generateRandomInteger } from '../../test-utils.js'
7 describe('Weighted round robin strategy worker choice strategy test suite', () => {
13 pool = new FixedThreadPool(
15 './tests/worker-files/thread/testWorker.mjs'
27 it('Verify that reset() resets internals', () => {
28 const strategy = new WeightedRoundRobinWorkerChoiceStrategy(pool)
29 strategy.currentWorkerId = generateRandomInteger(Number.MAX_SAFE_INTEGER, 1)
30 strategy.workerVirtualTaskRunTime = generateRandomInteger(
31 Number.MAX_SAFE_INTEGER,
34 expect(strategy.reset()).toBe(true)
35 expect(strategy.nextWorkerNodeKey).toBe(0)
36 expect(strategy.previousWorkerNodeKey).toBe(0)
37 expect(strategy.workerNodeVirtualTaskRunTime).toBe(0)