### Question:
WeaverObserveOnComponentCompletable extends WeaverObserveOnComponentAbstract<Completable> { @Override public Completable build() throws Throwable { return buildComponentInternal(); } WeaverObserveOnComponentCompletable(ProceedingJoinPoint joinPoint, WeaverComponent<Completable> parentWeaverComponent); @Override Completable build();  }### Answer:
@Test public void build() throws Throwable { when(proceedingJoinPoint.proceed()).thenReturn(Completable.complete()); when(parentWeaverComponent.getComponentInfo()).thenReturn(componentInfo); when(proceedingJoinPoint.getArgs()).thenReturn(new Object[]{Schedulers.io()}); WeaverObserveOnComponentCompletable weaverObserveOnComponentCompletable = new WeaverObserveOnComponentCompletable(proceedingJoinPoint, parentWeaverComponent); Completable completable = weaverObserveOnComponentCompletable.build(); completable.subscribe(observer); observer.dispose(); observer.assertComplete(); verify(componentInfo).setObserveOnScheduler(anyString()); }
@Test public void buildWithoutParent() throws Throwable { when(proceedingJoinPoint.proceed()).thenReturn(Completable.complete()); WeaverObserveOnComponentCompletable weaverObserveOnComponentCompletable = new WeaverObserveOnComponentCompletable(proceedingJoinPoint, null); Completable completable = weaverObserveOnComponentCompletable.build(); completable.subscribe(observer); observer.dispose(); observer.assertComplete(); verify(componentInfo, times(0)).setObserveOnScheduler(anyString()); }