FrodoObservable { public rx.Observable getObservable() throws Throwable { messageManager.printObservableInfo(observableInfo); final Class observableType = joinPoint.getGenericReturnTypes().get(0); final Annotation annotation = joinPoint.getAnnotation(RxLogObservable.class); return observableFactory.create(annotation).get(observableType); } FrodoObservable(FrodoProceedingJoinPoint joinPoint, MessageManager messageManager,
      LoggableObservableFactory observableFactory); rx.Observable getObservable();  }
@Test public void shouldPrintObservableInfo() throws Throwable { frodoObservable.getObservable(); verify(messageManager).printObservableInfo(any(ObservableInfo.class)); }
@Test public void shouldBuildObservable() throws Throwable { frodoObservable.getObservable().subscribe(subscriber); subscriber.assertReceivedOnNext( Collections.singletonList(observableRule.OBSERVABLE_STREAM_VALUE)); subscriber.assertNoErrors(); subscriber.assertCompleted(); subscriber.assertUnsubscribed(); }
@Test public void shouldLogObservableInformation() throws Throwable { frodoObservable.getObservable().subscribe(subscriber); verify(messageManager).printObservableInfo(any(ObservableInfo.class)); }