### Question:
DefaultWhenEventBus implements WhenEventBus { @Override public EventBus getEventBus() { return eventBus; } @Inject  DefaultWhenEventBus(Vertx vertx, PromiseAdapter adapter);  DefaultWhenEventBus(Vertx vertx, When when);  DefaultWhenEventBus(EventBus eventBus, PromiseAdapter adapter);  DefaultWhenEventBus(EventBus eventBus, When when); @Override EventBus getEventBus(); @Override Promise<Void> close(); @Override Promise<Message<T>> send(String address, Object message); @Override Promise<Message<T>> send(String address, Object message, DeliveryOptions options);  }### Answer:
@Test public void testGetEventBus() throws Exception { assertEquals(eventBus, whenEventBus.getEventBus()); EventBus mock = mock(EventBus.class); whenEventBus = new DefaultWhenEventBus(mock, mock(When.class)); assertEquals(mock, whenEventBus.getEventBus()); }