+ expect(workerChoiceStrategyContext.workerChoiceStrategy).toBe(
+ workerChoiceStrategy
+ )
+ })
+
+ it('Verify that worker choice strategy options enable median runtime pool statistics', () => {
+ const wwrWorkerChoiceStrategy = WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN
+ let workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
+ fixedPool,
+ wwrWorkerChoiceStrategy,
+ {
+ medRunTime: true
+ }
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe(
+ false
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe(
+ true
+ )
+ workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
+ dynamicPool,
+ wwrWorkerChoiceStrategy,
+ {
+ medRunTime: true
+ }
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe(
+ false
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe(
+ true
+ )
+ const fsWorkerChoiceStrategy = WorkerChoiceStrategies.FAIR_SHARE
+ workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
+ fixedPool,
+ fsWorkerChoiceStrategy,
+ {
+ medRunTime: true
+ }
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe(
+ false
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe(
+ true
+ )
+ workerChoiceStrategyContext = new WorkerChoiceStrategyContext(
+ dynamicPool,
+ fsWorkerChoiceStrategy,
+ {
+ medRunTime: true
+ }
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().avgRunTime).toBe(
+ false
+ )
+ expect(workerChoiceStrategyContext.getRequiredStatistics().medRunTime).toBe(
+ true