### Question:
SideMenuController extends ParentController<DrawerLayout> implements DrawerLayout.DrawerListener { @Override public void applyChildOptions(Options options, Component child) { super.applyChildOptions(options, child); presenter.applyChildOptions(resolveCurrentOptions()); performOnParentController(parentController -> ((ParentController) parentController).applyChildOptions(this.options, child) ); } SideMenuController(Activity activity, ChildControllersRegistry childRegistry, String id, Options initialOptions, SideMenuPresenter sideMenuOptionsPresenter, Presenter presenter); @Override void sendOnNavigationButtonPressed(String buttonId); @NonNull @Override Collection<ViewController> getChildControllers(); @Override void applyChildOptions(Options options, Component child); @Override void mergeChildOptions(Options options, ViewController childController, Component child); @Override void mergeOptions(Options options); @Override Options resolveCurrentOptions(); @Override void onDrawerOpened(@NonNull View drawerView); @Override void onDrawerClosed(@NonNull View drawerView); @Override boolean handleBack(CommandListener listener); void setCenterController(ViewController centerController); void setLeftController(ViewController controller); void setRightController(ViewController controller); @Override void onDrawerSlide(@NonNull View drawerView, float slideOffset); @Override void onDrawerStateChanged(int newState);  }### Answer:
@Test public void applyChildOptions() { uut.applyChildOptions(new Options(), (Component) child.getView()); verify(presenter).applyChildOptions(eq(resolvedOptions)); verify(parent).applyChildOptions(uut.options, (Component) child.getView()); }