X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Futils.test.js;h=0bf5e50ca8a4989099500100ff2b097a96092713;hb=eb7bf7441d410ca5d9ff9bb08f191ef22399371c;hp=f3278e4780b064ee25b6fcf7d900559b96fb23c7;hpb=88d983fa5c8db26fa52b8a69a2b724ade989db9b;p=poolifier.git diff --git a/tests/utils.test.js b/tests/utils.test.js index f3278e47..0bf5e50c 100644 --- a/tests/utils.test.js +++ b/tests/utils.test.js @@ -1,14 +1,41 @@ const { expect } = require('expect') -const { isPlainObject, median } = require('../lib/utils') +const { + availableParallelism, + isPlainObject, + median, + round +} = require('../lib/utils') +const { + isKillBehavior, + KillBehaviors +} = require('../lib/worker/worker-options') describe('Utils test suite', () => { - it('Verify median computation', () => { + it('Verify availableParallelism() behavior', () => { + expect(typeof availableParallelism() === 'number').toBe(true) + }) + + it('Verify median() computation', () => { expect(median([])).toBe(0) expect(median([0.08])).toBe(0.08) expect(median([0.25, 4.75, 3.05, 6.04, 1.01, 2.02, 5.03])).toBe(3.05) expect(median([0.25, 4.75, 3.05, 6.04, 1.01, 2.02])).toBe(2.535) }) + it('Verify round() behavior', () => { + expect(round(0)).toBe(0) + expect(round(0.5, 0)).toBe(1) + expect(round(0.5)).toBe(0.5) + expect(round(-0.5, 0)).toBe(-1) + expect(round(-0.5)).toBe(-0.5) + expect(round(1.005)).toBe(1.01) + expect(round(2.175)).toBe(2.18) + expect(round(5.015)).toBe(5.02) + expect(round(-1.005)).toBe(-1.01) + expect(round(-2.175)).toBe(-2.18) + expect(round(-5.015)).toBe(-5.02) + }) + it('Verify isPlainObject() behavior', () => { expect(isPlainObject(null)).toBe(false) expect(isPlainObject(undefined)).toBe(false) @@ -45,4 +72,15 @@ describe('Utils test suite', () => { expect(isPlainObject({})).toBe(true) expect(isPlainObject({ a: 1 })).toBe(true) }) + + it('Verify isKillBehavior() behavior', () => { + expect(isKillBehavior(KillBehaviors.SOFT, KillBehaviors.SOFT)).toBe(true) + expect(isKillBehavior(KillBehaviors.SOFT, KillBehaviors.HARD)).toBe(false) + expect(isKillBehavior(KillBehaviors.HARD, KillBehaviors.HARD)).toBe(true) + expect(isKillBehavior(KillBehaviors.HARD, KillBehaviors.SOFT)).toBe(false) + expect(isKillBehavior(KillBehaviors.SOFT)).toBe(false) + expect(isKillBehavior(KillBehaviors.HARD)).toBe(false) + expect(isKillBehavior(KillBehaviors.HARD, null)).toBe(false) + expect(isKillBehavior(KillBehaviors.SOFT, 'unknown')).toBe(false) + }) })