@@ -63,6 +63,23 @@ public void cached1() throws Exception {
6363 });
6464 }
6565
66+ @ Test
67+ public void cached1Alternative () throws Exception {
68+ Config conf = ConfigFactory .empty ()
69+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("cached" ));
70+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
71+ .expect (executors )
72+ .expect (unit -> {
73+ expect (Executors .newCachedThreadPool (isA (ThreadFactory .class )))
74+ .andReturn (unit .get (ExecutorService .class ));
75+ })
76+ .expect (bind ("default" , true , ExecutorService .class , Executor .class ))
77+ .expect (onStop )
78+ .run (unit -> {
79+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
80+ });
81+ }
82+
6683 @ Test
6784 public void fixed1 () throws Exception {
6885 int n = Runtime .getRuntime ().availableProcessors ();
@@ -78,6 +95,21 @@ public void fixed1() throws Exception {
7895 });
7996 }
8097
98+ @ Test
99+ public void fixed1Alternative () throws Exception {
100+ int n = Runtime .getRuntime ().availableProcessors ();
101+ Config conf = ConfigFactory .empty ()
102+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("fixed" ));
103+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
104+ .expect (executors )
105+ .expect (fixedPool (n ))
106+ .expect (bind ("default" , true , ExecutorService .class , Executor .class ))
107+ .expect (onStop )
108+ .run (unit -> {
109+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
110+ });
111+ }
112+
81113 @ Test
82114 public void onStop () throws Exception {
83115 int n = Runtime .getRuntime ().availableProcessors ();
@@ -201,6 +233,22 @@ public void scheduled1() throws Exception {
201233 });
202234 }
203235
236+ @ Test
237+ public void scheduled1Alternative () throws Exception {
238+ int n = Runtime .getRuntime ().availableProcessors ();
239+ Config conf = ConfigFactory .empty ()
240+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("scheduled" ));
241+ new MockUnit (Env .class , Binder .class , ScheduledExecutorService .class )
242+ .expect (executors )
243+ .expect (scheduledPool (n ))
244+ .expect (bind ("default" , true , ScheduledExecutorService .class , ExecutorService .class ,
245+ Executor .class ))
246+ .expect (onStop )
247+ .run (unit -> {
248+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
249+ });
250+ }
251+
204252 @ Test
205253 public void forkJoin () throws Exception {
206254 int n = Runtime .getRuntime ().availableProcessors ();
@@ -222,6 +270,28 @@ public void forkJoin() throws Exception {
222270 });
223271 }
224272
273+ @ Test
274+ public void forkJoinAlternative () throws Exception {
275+ int n = Runtime .getRuntime ().availableProcessors ();
276+ Config conf = ConfigFactory .empty ()
277+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("forkjoin" ))
278+ .withValue ("executors.default.asyncMode" , ConfigValueFactory .fromAnyRef (false ));
279+ new MockUnit (Env .class , Binder .class )
280+ .expect (executors )
281+ .expect (unit -> {
282+ ForkJoinPool pool = unit .constructor (ForkJoinPool .class )
283+ .args (int .class , ForkJoinWorkerThreadFactory .class , UncaughtExceptionHandler .class ,
284+ boolean .class )
285+ .build (eq (n ), isA (ForkJoinWorkerThreadFactory .class ), eq (null ), eq (false ));
286+ unit .registerMock (ExecutorService .class , pool );
287+ })
288+ .expect (bind ("default" , true , ExecutorService .class , Executor .class , ForkJoinPool .class ))
289+ .expect (onStop )
290+ .run (unit -> {
291+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
292+ });
293+ }
294+
225295 @ Test
226296 public void forkJoinAsync () throws Exception {
227297 int n = 1 ;
@@ -243,6 +313,29 @@ public void forkJoinAsync() throws Exception {
243313 });
244314 }
245315
316+ @ Test
317+ public void forkJoinAsyncAlternative () throws Exception {
318+ int n = 1 ;
319+ Config conf = ConfigFactory .empty ()
320+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("forkjoin" ))
321+ .withValue ("executors.default.size" , ConfigValueFactory .fromAnyRef (1 ))
322+ .withValue ("executors.default.asyncMode" , ConfigValueFactory .fromAnyRef (true ));
323+ new MockUnit (Env .class , Binder .class )
324+ .expect (executors )
325+ .expect (unit -> {
326+ ForkJoinPool pool = unit .constructor (ForkJoinPool .class )
327+ .args (int .class , ForkJoinWorkerThreadFactory .class , UncaughtExceptionHandler .class ,
328+ boolean .class )
329+ .build (eq (n ), isA (ForkJoinWorkerThreadFactory .class ), eq (null ), eq (true ));
330+ unit .registerMock (ExecutorService .class , pool );
331+ })
332+ .expect (bind ("default" , true , ExecutorService .class , Executor .class , ForkJoinPool .class ))
333+ .expect (onStop )
334+ .run (unit -> {
335+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
336+ });
337+ }
338+
246339 @ Test
247340 public void scheduled7 () throws Exception {
248341 int n = 7 ;
@@ -259,6 +352,23 @@ public void scheduled7() throws Exception {
259352 });
260353 }
261354
355+ @ Test
356+ public void scheduled7Alternative () throws Exception {
357+ int n = 7 ;
358+ Config conf = ConfigFactory .empty ()
359+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("scheduled" ))
360+ .withValue ("executors.default.size" , ConfigValueFactory .fromAnyRef (n ));
361+ new MockUnit (Env .class , Binder .class , ScheduledExecutorService .class )
362+ .expect (executors )
363+ .expect (scheduledPool (n ))
364+ .expect (bind ("default" , true , ScheduledExecutorService .class , ExecutorService .class ,
365+ Executor .class ))
366+ .expect (onStop )
367+ .run (unit -> {
368+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
369+ });
370+ }
371+
262372 @ Test
263373 public void fixed5 () throws Exception {
264374 int n = 8 ;
@@ -274,6 +384,22 @@ public void fixed5() throws Exception {
274384 });
275385 }
276386
387+ @ Test
388+ public void fixed5Alternative () throws Exception {
389+ int n = 8 ;
390+ Config conf = ConfigFactory .empty ()
391+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("fixed" ))
392+ .withValue ("executors.default.size" , ConfigValueFactory .fromAnyRef (n ));
393+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
394+ .expect (executors )
395+ .expect (fixedPool (n ))
396+ .expect (bind ("default" , true , ExecutorService .class , Executor .class ))
397+ .expect (onStop )
398+ .run (unit -> {
399+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
400+ });
401+ }
402+
277403 private Block fixedPool (final int n ) {
278404 return unit -> {
279405 expect (Executors .newFixedThreadPool (eq (n ), unit .capture (ThreadFactory .class )))
@@ -327,8 +453,24 @@ public void daemon() throws Exception {
327453 });
328454 }
329455
456+ @ Test
457+ public void daemonAlternative () throws Exception {
458+ int n = Runtime .getRuntime ().availableProcessors ();
459+ Config conf = ConfigFactory .empty ()
460+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("fixed" ))
461+ .withValue ("executors.default.daemon" , ConfigValueFactory .fromAnyRef (false ));
462+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
463+ .expect (executors )
464+ .expect (fixedPool (n ))
465+ .expect (bind ("default" , true , ExecutorService .class , Executor .class ))
466+ .expect (onStop )
467+ .run (unit -> {
468+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
469+ });
470+ }
471+
330472 @ Test (expected = IllegalArgumentException .class )
331- public void wrontType () throws Exception {
473+ public void wrongType () throws Exception {
332474 Config conf = ConfigFactory .empty ()
333475 .withValue ("executors" , ConfigValueFactory .fromAnyRef ("wrongtype" ));
334476 new MockUnit (Env .class , Binder .class , ExecutorService .class )
@@ -338,6 +480,28 @@ public void wrontType() throws Exception {
338480 });
339481 }
340482
483+ @ Test (expected = IllegalArgumentException .class )
484+ public void wrongTypeAlternative () throws Exception {
485+ Config conf = ConfigFactory .empty ()
486+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("wrongtype" ));
487+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
488+ .expect (executors )
489+ .run (unit -> {
490+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
491+ });
492+ }
493+
494+ @ Test (expected = IllegalArgumentException .class )
495+ public void missingTypeAlternative () throws Exception {
496+ Config conf = ConfigFactory .empty ()
497+ .withValue ("executors.default.size" , ConfigValueFactory .fromAnyRef (1 ));
498+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
499+ .expect (executors )
500+ .run (unit -> {
501+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
502+ });
503+ }
504+
341505 @ Test
342506 public void priority () throws Exception {
343507 int n = Runtime .getRuntime ().availableProcessors ();
@@ -353,6 +517,22 @@ public void priority() throws Exception {
353517 });
354518 }
355519
520+ @ Test
521+ public void priorityAlternative () throws Exception {
522+ int n = Runtime .getRuntime ().availableProcessors ();
523+ Config conf = ConfigFactory .empty ()
524+ .withValue ("executors.default.type" , ConfigValueFactory .fromAnyRef ("fixed" ))
525+ .withValue ("executors.default.priority" , ConfigValueFactory .fromAnyRef (5 ));
526+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
527+ .expect (executors )
528+ .expect (fixedPool (n ))
529+ .expect (bind ("default" , true , ExecutorService .class , Executor .class ))
530+ .expect (onStop )
531+ .run (unit -> {
532+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
533+ });
534+ }
535+
356536 @ Test
357537 public void moreExecutors () throws Exception {
358538 Config conf = ConfigFactory .empty ()
@@ -370,4 +550,23 @@ public void moreExecutors() throws Exception {
370550 });
371551 }
372552
553+ @ Test
554+ public void moreExecutorsAlternative () throws Exception {
555+ Config conf = ConfigFactory .empty ()
556+ .withValue ("executors.f1.type" , ConfigValueFactory .fromAnyRef ("fixed" ))
557+ .withValue ("executors.f1.size" , ConfigValueFactory .fromAnyRef (1 ))
558+ .withValue ("executors.f2.type" , ConfigValueFactory .fromAnyRef ("fixed" ))
559+ .withValue ("executors.f2.size" , ConfigValueFactory .fromAnyRef (1 ));
560+ new MockUnit (Env .class , Binder .class , ExecutorService .class )
561+ .expect (executors )
562+ .expect (fixedPool (1 ))
563+ .expect (fixedPool (1 ))
564+ .expect (bind ("f1" , false , ExecutorService .class , Executor .class ))
565+ .expect (bind ("f2" , false , ExecutorService .class , Executor .class ))
566+ .expect (onStop )
567+ .run (unit -> {
568+ new Exec ().configure (unit .get (Env .class ), conf , unit .get (Binder .class ));
569+ });
570+ }
571+
373572}
0 commit comments