test: add mapExecute() test
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 11 Jun 2024 15:41:11 +0000 (17:41 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 11 Jun 2024 15:41:11 +0000 (17:41 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
tests/pools/abstract-pool.test.mjs

index ec481d2ca918c33f42da25c17c9acc22806594ac..fc346a642acef84a82404c19142fdf18e2a886e3 100644 (file)
@@ -1708,6 +1708,24 @@ describe('Abstract pool test suite', () => {
     await pool.destroy()
   })
 
+  it('Verify mapExecute() is working', async () => {
+    const pool = new DynamicThreadPool(
+      Math.floor(numberOfWorkers / 2),
+      numberOfWorkers,
+      './tests/worker-files/thread/testMultipleTaskFunctionsWorker.mjs'
+    )
+    const results = await pool.mapExecute([{ n: 10 }, { n: 20 }, { n: 30 }, { n: 40 }], 'factorial')
+    expect(results).toStrictEqual([
+      3628800,
+      2432902008176640000,
+      2.6525285981219103e+32,
+      8.159152832478977e+47,
+    ])
+    expect(pool.info.executingTasks).toBe(0)
+    expect(pool.info.executedTasks).toBe(4)
+    await pool.destroy()
+  })
+
   it('Verify that task function objects worker is working', async () => {
     const pool = new DynamicThreadPool(
       Math.floor(numberOfWorkers / 2),