refactor: imports cleanup
[poolifier.git] / tests / utils.test.js
index eb0e7b1530a29a5195b21a292c6210856a47acb1..d4c2179b12a6ddba893aa771846a896bdccf1d7e 100644 (file)
@@ -1,12 +1,16 @@
 const { expect } = require('expect')
 const { isPlainObject, median } = require('../lib/utils')
+const {
+  isKillBehavior,
+  KillBehaviors
+} = require('../lib/worker/worker-options')
 
 describe('Utils test suite', () => {
   it('Verify median computation', () => {
-    const array0 = [0.08]
-    expect(median(array0)).toBe(0.08)
-    const array1 = [0.25, 4.75, 3.05, 6.04, 1.01, 2.02, 5.03]
-    expect(median(array1)).toBe(3.05)
+    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 isPlainObject() behavior', () => {
@@ -45,4 +49,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)
+  })
 })