### Question:
BottomTabsController extends ParentController implements AHBottomNavigation.OnTabSelectedListener, TabSelector { @Override public void applyChildOptions(Options options, Component child) { super.applyChildOptions(options, child); presenter.applyChildOptions(resolveCurrentOptions(), child); performOnParentController(parentController -> ((ParentController) parentController).applyChildOptions( this.options.copy() .clearBottomTabsOptions() .clearBottomTabOptions(), child ) ); } BottomTabsController(Activity activity, List<ViewController> tabs, ChildControllersRegistry childRegistry, EventEmitter eventEmitter, ImageLoader imageLoader, String id, Options initialOptions, Presenter presenter, BottomTabsAttacher tabsAttacher, BottomTabsPresenter bottomTabsPresenter, BottomTabPresenter bottomTabPresenter); @Override void setDefaultOptions(Options defaultOptions); @Override void applyOptions(Options options); @Override void mergeOptions(Options options); @Override void applyChildOptions(Options options, Component child); @Override void mergeChildOptions(Options options, ViewController childController, Component child); @Override boolean handleBack(CommandListener listener); @Override void sendOnNavigationButtonPressed(String buttonId); @Override boolean onTabSelected(int index, boolean wasSelected); int getSelectedIndex(); @NonNull @Override Collection<ViewController> getChildControllers(); @Override void destroy(); @Override void selectTab(final int newIndex); @RestrictTo(RestrictTo.Scope.TESTS) BottomTabs getBottomTabs();  }### Answer:
@Test public void applyChildOptions_resolvedOptionsAreUsed() { Options childOptions = new Options(); SimpleViewController pushedScreen = new SimpleViewController(activity, childRegistry, "child4.1", childOptions); disablePushAnimation(pushedScreen); child4 = createStack(pushedScreen); tabs = new ArrayList<>(Collections.singletonList(child4)); tabsAttacher = new BottomTabsAttacher(tabs, presenter); initialOptions.bottomTabsOptions.currentTabIndex = new Number(0); Options resolvedOptions = new Options(); uut = new BottomTabsController(activity, tabs, childRegistry, eventEmitter, imageLoaderMock, "uut", initialOptions, new Presenter(activity, new Options()), tabsAttacher, presenter, new BottomTabPresenter(activity, tabs, ImageLoaderMock.mock(), new Options())) { @Override public Options resolveCurrentOptions() { return resolvedOptions; } @NonNull @Override protected BottomTabs createBottomTabs() { return new BottomTabs(activity) { @Override protected void createItems() { } }; } }; activity.setContentView(uut.getView()); verify(presenter, times(2)).applyChildOptions(eq(resolvedOptions), any()); }