package com.lambdaworks.redis.event; import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import rx.observers.TestSubscriber; import rx.schedulers.Schedulers; import rx.schedulers.TestScheduler; /** * @author Mark Paluch */ @RunWith(MockitoJUnitRunner.class) public class DefaultEventBusTest { @Mock private Event event; @Test public void publishToSubscriber() throws Exception { TestScheduler testScheduler = Schedulers.test(); EventBus sut = new DefaultEventBus(testScheduler); TestSubscriber<Event> subscriber = new TestSubscriber<Event>(); sut.get().subscribe(subscriber); sut.publish(event); testScheduler.advanceTimeBy(1, TimeUnit.SECONDS); assertThat(subscriber.getOnNextEvents()).hasSize(1).contains(event); } }