### Question:
WeaverFactory { @SuppressWarnings("unchecked") public WeaverSubscribeOnComponent buildWeaverSubscribeOnComponent(@NonNull ComponentType componentType, @NonNull ProceedingJoinPoint joinPoint) { WeaverComponent parentWeaverComponent = currentWeaverComponent.get(); switch (componentType) { case FLOWABLE: return new WeaverSubscribeOnComponentFlowable(joinPoint, parentWeaverComponent); case OBSERVABLE: return new WeaverSubscribeOnComponentObservable(joinPoint, parentWeaverComponent); case SINGLE: return new WeaverSubscribeOnComponentSingle(joinPoint, parentWeaverComponent); case MAYBE: return new WeaverSubscribeOnComponentMaybe(joinPoint, parentWeaverComponent); case COMPLETABLE: return new WeaverSubscribeOnComponentCompletable(joinPoint, parentWeaverComponent); default: return null; } } WeaverFactory(); WeaverComponent buildWeaverComponent(@NonNull ComponentType componentType, @NonNull RxLogger.Scope scope, @NonNull ProceedingJoinPoint joinPoint, @NonNull MessageManager messageManager); @SuppressWarnings("unchecked") WeaverSubscribeOnComponent buildWeaverSubscribeOnComponent(@NonNull ComponentType componentType, @NonNull ProceedingJoinPoint joinPoint); @SuppressWarnings("unchecked") WeaverObserveOnComponent buildWeaverObserveOnComponent(@NonNull ComponentType componentType, @NonNull ProceedingJoinPoint joinPoint);  }### Answer:
@Test public void buildWeaverSubscribeOnComponent() { assertTrue(weaverFactory.buildWeaverSubscribeOnComponent(ComponentType.OBSERVABLE, null) instanceof WeaverSubscribeOnComponentObservable); assertTrue(weaverFactory.buildWeaverSubscribeOnComponent(ComponentType.FLOWABLE, null) instanceof WeaverSubscribeOnComponentFlowable); assertTrue(weaverFactory.buildWeaverSubscribeOnComponent(ComponentType.SINGLE, null) instanceof WeaverSubscribeOnComponentSingle); assertTrue(weaverFactory.buildWeaverSubscribeOnComponent(ComponentType.MAYBE, null) instanceof WeaverSubscribeOnComponentMaybe); assertTrue(weaverFactory.buildWeaverSubscribeOnComponent(ComponentType.COMPLETABLE, null) instanceof WeaverSubscribeOnComponentCompletable); }