@Test public void forEachConsumerRace() { for (int i = 0; i < 1000; i++) { final Disposable d = manager.register(Functions.<Runnable>identity()); assertTrue(manager.hasHandlers()); Runnable r1 = new Runnable() { @Override public void run() { d.dispose(); } }; Runnable r2 = new Runnable() { @Override public void run() { manager.forEach(Functions.<Function<Runnable, Runnable>>emptyConsumer()); } }; TestHelper.race(r1, r2, Schedulers.single()); assertFalse(manager.hasHandlers()); } }
final Disposable d = manager.register(Functions.<Runnable>identity()); assertTrue(manager.hasHandlers()); assertFalse(manager.hasHandlers());