build(deps-dev): apply updates
[poolifier.git] / tests / pools / selection-strategies / worker-choice-strategies-context.test.mjs
index 8fcd90b22eeb5a753a2affad79a500dec41cc98a..e046af55d5a8eeebada837a3971c2cdac55b7ea6 100644 (file)
@@ -4,7 +4,7 @@ import { createStubInstance, restore, stub } from 'sinon'
 import {
   DynamicThreadPool,
   FixedThreadPool,
-  WorkerChoiceStrategies
+  WorkerChoiceStrategies,
 } from '../../../lib/index.cjs'
 import { FairShareWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/fair-share-worker-choice-strategy.cjs'
 import { InterleavedWeightedRoundRobinWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/interleaved-weighted-round-robin-worker-choice-strategy.cjs'
@@ -87,7 +87,7 @@ describe('Worker choice strategies context test suite', () => {
     const workerChoiceStrategyUndefinedStub = createStubInstance(
       RoundRobinWorkerChoiceStrategy,
       {
-        choose: stub().returns(undefined)
+        choose: stub().returns(undefined),
       }
     )
     workerChoiceStrategiesContext.workerChoiceStrategies.set(
@@ -102,7 +102,7 @@ describe('Worker choice strategies context test suite', () => {
     const workerChoiceStrategyNullStub = createStubInstance(
       RoundRobinWorkerChoiceStrategy,
       {
-        choose: stub().returns(null)
+        choose: stub().returns(null),
       }
     )
     workerChoiceStrategiesContext.workerChoiceStrategies.set(
@@ -134,7 +134,7 @@ describe('Worker choice strategies context test suite', () => {
           .returns(undefined)
           .onCall(4)
           .returns(undefined)
-          .returns(1)
+          .returns(1),
       }
     )
     expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
@@ -160,7 +160,7 @@ describe('Worker choice strategies context test suite', () => {
     const workerChoiceStrategyStub = createStubInstance(
       RoundRobinWorkerChoiceStrategy,
       {
-        choose: stub().returns(0)
+        choose: stub().returns(0),
       }
     )
     expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
@@ -186,7 +186,7 @@ describe('Worker choice strategies context test suite', () => {
     const workerChoiceStrategyStub = createStubInstance(
       RoundRobinWorkerChoiceStrategy,
       {
-        choose: stub().returns(0)
+        choose: stub().returns(0),
       }
     )
     expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
@@ -417,7 +417,8 @@ describe('Worker choice strategies context test suite', () => {
       fixedPool,
       [wwrWorkerChoiceStrategy],
       {
-        runTime: { median: true }
+        runTime: { median: true },
+        waitTime: { median: true },
       }
     )
     expect(
@@ -428,11 +429,20 @@ describe('Worker choice strategies context test suite', () => {
       workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
         .median
     ).toBe(true)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .average
+    ).toBe(false)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .median
+    ).toBe(true)
     workerChoiceStrategiesContext = new WorkerChoiceStrategiesContext(
       dynamicPool,
       [wwrWorkerChoiceStrategy],
       {
-        runTime: { median: true }
+        runTime: { median: true },
+        waitTime: { median: true },
       }
     )
     expect(
@@ -443,12 +453,21 @@ describe('Worker choice strategies context test suite', () => {
       workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
         .median
     ).toBe(true)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .average
+    ).toBe(false)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .median
+    ).toBe(true)
     const fsWorkerChoiceStrategy = WorkerChoiceStrategies.FAIR_SHARE
     workerChoiceStrategiesContext = new WorkerChoiceStrategiesContext(
       fixedPool,
       [fsWorkerChoiceStrategy],
       {
-        runTime: { median: true }
+        runTime: { median: true },
+        waitTime: { median: true },
       }
     )
     expect(
@@ -459,11 +478,20 @@ describe('Worker choice strategies context test suite', () => {
       workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
         .median
     ).toBe(true)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .average
+    ).toBe(false)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .median
+    ).toBe(true)
     workerChoiceStrategiesContext = new WorkerChoiceStrategiesContext(
       dynamicPool,
       [fsWorkerChoiceStrategy],
       {
-        runTime: { median: true }
+        runTime: { median: true },
+        waitTime: { median: true },
       }
     )
     expect(
@@ -474,5 +502,13 @@ describe('Worker choice strategies context test suite', () => {
       workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
         .median
     ).toBe(true)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .average
+    ).toBe(false)
+    expect(
+      workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+        .median
+    ).toBe(true)
   })
 })