39
39
import org .springframework .context .ApplicationEventPublisherAware ;
40
40
import org .springframework .context .ApplicationListener ;
41
41
import org .springframework .context .PayloadApplicationEvent ;
42
- import org .springframework .context .support .AbstractApplicationContext ;
43
42
import org .springframework .context .support .GenericApplicationContext ;
44
43
import org .springframework .context .support .StaticApplicationContext ;
45
44
import org .springframework .context .support .StaticMessageSource ;
59
58
import static org .mockito .Mockito .mock ;
60
59
import static org .mockito .Mockito .times ;
61
60
import static org .mockito .Mockito .verify ;
61
+ import static org .springframework .context .support .AbstractApplicationContext .APPLICATION_EVENT_MULTICASTER_BEAN_NAME ;
62
62
63
63
/**
64
64
* Unit and integration tests for the ApplicationContext event support.
@@ -163,7 +163,7 @@ public void simpleApplicationEventMulticasterWithException() {
163
163
willThrow (thrown ).given (listener ).onApplicationEvent (evt );
164
164
assertThatRuntimeException ()
165
165
.isThrownBy (() -> smc .multicastEvent (evt ))
166
- .satisfies ( ex -> assertThat ( ex ). isSameAs (thrown ) );
166
+ .isSameAs (thrown );
167
167
}
168
168
169
169
@ Test
@@ -282,20 +282,14 @@ public void listenersInApplicationContext() {
282
282
context .publishEvent (event3 );
283
283
MyOtherEvent event4 = new MyOtherEvent (context );
284
284
context .publishEvent (event4 );
285
- assertThat (listener1 .seenEvents .contains (event1 )).isTrue ();
286
- assertThat (listener1 .seenEvents .contains (event2 )).isTrue ();
287
- assertThat (listener1 .seenEvents .contains (event3 )).isTrue ();
288
- assertThat (listener1 .seenEvents .contains (event4 )).isTrue ();
285
+ assertThat (listener1 .seenEvents ).contains (event1 , event2 , event3 , event4 );
289
286
290
287
listener1 .seenEvents .clear ();
291
288
context .publishEvent (event1 );
292
289
context .publishEvent (event2 );
293
290
context .publishEvent (event3 );
294
291
context .publishEvent (event4 );
295
- assertThat (listener1 .seenEvents .contains (event1 )).isTrue ();
296
- assertThat (listener1 .seenEvents .contains (event2 )).isTrue ();
297
- assertThat (listener1 .seenEvents .contains (event3 )).isTrue ();
298
- assertThat (listener1 .seenEvents .contains (event4 )).isTrue ();
292
+ assertThat (listener1 .seenEvents ).contains (event1 , event2 , event3 , event4 );
299
293
300
294
AbstractApplicationEventMulticaster multicaster = context .getBean (AbstractApplicationEventMulticaster .class );
301
295
assertThat (multicaster .retrieverCache ).hasSize (2 );
@@ -314,10 +308,7 @@ public void listenersInApplicationContextWithPayloadEvents() {
314
308
context .publishEvent ("event2" );
315
309
context .publishEvent ("event3" );
316
310
context .publishEvent ("event4" );
317
- assertThat (listener .seenPayloads .contains ("event1" )).isTrue ();
318
- assertThat (listener .seenPayloads .contains ("event2" )).isTrue ();
319
- assertThat (listener .seenPayloads .contains ("event3" )).isTrue ();
320
- assertThat (listener .seenPayloads .contains ("event4" )).isTrue ();
311
+ assertThat (listener .seenPayloads ).contains ("event1" , "event2" , "event3" , "event4" );
321
312
322
313
AbstractApplicationEventMulticaster multicaster = context .getBean (AbstractApplicationEventMulticaster .class );
323
314
assertThat (multicaster .retrieverCache ).hasSize (2 );
@@ -340,15 +331,13 @@ public void listenersInApplicationContextWithNestedChild() {
340
331
MyOrderedListener1 listener1 = context .getBean ("listener1" , MyOrderedListener1 .class );
341
332
MyEvent event1 = new MyEvent (context );
342
333
context .publishEvent (event1 );
343
- assertThat (listener1 .seenEvents .contains (event1 )). isTrue ( );
334
+ assertThat (listener1 .seenEvents ) .contains (event1 );
344
335
345
- SimpleApplicationEventMulticaster multicaster = context .getBean (
346
- AbstractApplicationContext .APPLICATION_EVENT_MULTICASTER_BEAN_NAME ,
347
- SimpleApplicationEventMulticaster .class );
348
- assertThat (multicaster .getApplicationListeners ().isEmpty ()).isFalse ();
336
+ SimpleApplicationEventMulticaster multicaster = context .getBean (SimpleApplicationEventMulticaster .class );
337
+ assertThat (multicaster .getApplicationListeners ()).isNotEmpty ();
349
338
350
339
context .close ();
351
- assertThat (multicaster .getApplicationListeners (). isEmpty ()). isTrue ();
340
+ assertThat (multicaster .getApplicationListeners ()). isEmpty ();
352
341
}
353
342
354
343
@ Test
@@ -367,20 +356,14 @@ public void nonSingletonListenerInApplicationContext() {
367
356
context .publishEvent (event3 );
368
357
MyOtherEvent event4 = new MyOtherEvent (context );
369
358
context .publishEvent (event4 );
370
- assertThat (MyNonSingletonListener .seenEvents .contains (event1 )).isTrue ();
371
- assertThat (MyNonSingletonListener .seenEvents .contains (event2 )).isTrue ();
372
- assertThat (MyNonSingletonListener .seenEvents .contains (event3 )).isTrue ();
373
- assertThat (MyNonSingletonListener .seenEvents .contains (event4 )).isTrue ();
359
+ assertThat (MyNonSingletonListener .seenEvents ).contains (event1 , event2 , event3 , event4 );
374
360
MyNonSingletonListener .seenEvents .clear ();
375
361
376
362
context .publishEvent (event1 );
377
363
context .publishEvent (event2 );
378
364
context .publishEvent (event3 );
379
365
context .publishEvent (event4 );
380
- assertThat (MyNonSingletonListener .seenEvents .contains (event1 )).isTrue ();
381
- assertThat (MyNonSingletonListener .seenEvents .contains (event2 )).isTrue ();
382
- assertThat (MyNonSingletonListener .seenEvents .contains (event3 )).isTrue ();
383
- assertThat (MyNonSingletonListener .seenEvents .contains (event4 )).isTrue ();
366
+ assertThat (MyNonSingletonListener .seenEvents ).contains (event1 , event2 , event3 , event4 );
384
367
MyNonSingletonListener .seenEvents .clear ();
385
368
386
369
AbstractApplicationEventMulticaster multicaster = context .getBean (AbstractApplicationEventMulticaster .class );
@@ -433,9 +416,7 @@ public void anonymousClassAsListener() {
433
416
context .publishEvent (new MyOtherEvent (context ));
434
417
MyEvent event2 = new MyEvent (context );
435
418
context .publishEvent (event2 );
436
- assertThat (seenEvents .size ()).isSameAs (2 );
437
- assertThat (seenEvents .contains (event1 )).isTrue ();
438
- assertThat (seenEvents .contains (event2 )).isTrue ();
419
+ assertThat (seenEvents ).contains (event1 , event2 );
439
420
440
421
context .close ();
441
422
}
@@ -453,9 +434,7 @@ public void lambdaAsListener() {
453
434
context .publishEvent (new MyOtherEvent (context ));
454
435
MyEvent event2 = new MyEvent (context );
455
436
context .publishEvent (event2 );
456
- assertThat (seenEvents .size ()).isSameAs (2 );
457
- assertThat (seenEvents .contains (event1 )).isTrue ();
458
- assertThat (seenEvents .contains (event2 )).isTrue ();
437
+ assertThat (seenEvents ).contains (event1 , event2 );
459
438
460
439
context .close ();
461
440
}
@@ -466,8 +445,7 @@ public void lambdaAsListenerWithErrorHandler() {
466
445
StaticApplicationContext context = new StaticApplicationContext ();
467
446
SimpleApplicationEventMulticaster multicaster = new SimpleApplicationEventMulticaster ();
468
447
multicaster .setErrorHandler (ReflectionUtils ::rethrowRuntimeException );
469
- context .getBeanFactory ().registerSingleton (
470
- StaticApplicationContext .APPLICATION_EVENT_MULTICASTER_BEAN_NAME , multicaster );
448
+ context .getBeanFactory ().registerSingleton (APPLICATION_EVENT_MULTICASTER_BEAN_NAME , multicaster );
471
449
ApplicationListener <MyEvent > listener = seenEvents ::add ;
472
450
context .addApplicationListener (listener );
473
451
context .refresh ();
@@ -477,9 +455,7 @@ public void lambdaAsListenerWithErrorHandler() {
477
455
context .publishEvent (new MyOtherEvent (context ));
478
456
MyEvent event2 = new MyEvent (context );
479
457
context .publishEvent (event2 );
480
- assertThat (seenEvents .size ()).isSameAs (2 );
481
- assertThat (seenEvents .contains (event1 )).isTrue ();
482
- assertThat (seenEvents .contains (event2 )).isTrue ();
458
+ assertThat (seenEvents ).containsExactlyInAnyOrder (event1 , event2 );
483
459
484
460
context .close ();
485
461
}
0 commit comments