### Question:
BottomTabsController extends ParentController implements AHBottomNavigation.OnTabSelectedListener, TabSelector { @Override public void selectTab(final int newIndex) { tabsAttacher.onTabSelected(tabs.get(newIndex)); getCurrentView().setVisibility(View.INVISIBLE); bottomTabs.setCurrentItem(newIndex, false); getCurrentView().setVisibility(View.VISIBLE); } 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 selectTab() { uut.selectTab(1); verify(tabsAttacher).onTabSelected(tabs.get(1)); }
@Test public void push() { uut.ensureViewIsCreated(); uut.selectTab(3); SimpleViewController stackChild = new SimpleViewController(activity, childRegistry, "stackChild", new Options()); SimpleViewController stackChild2 = new SimpleViewController(activity, childRegistry, "stackChild", new Options()); disablePushAnimation(stackChild, stackChild2); hideBackButton(stackChild2); child4.push(stackChild, new CommandListenerAdapter()); assertThat(child4.size()).isOne(); child4.push(stackChild2, new CommandListenerAdapter()); assertThat(child4.size()).isEqualTo(2); }