ViperPresenter extends Presenter<V> { public final void takeRouter(@Nonnull R router) { requireNotNull(router); final R currentRouter = currentRouter(); if (currentRouter != router) { if (currentRouter != null) { dropRouter(currentRouter); } getProxy(routerProxy).set(router); onTakeRouter(router); } } protected  ViperPresenter(@Nonnull V view, @Nonnull R router); protected  ViperPresenter(@Nonnull V view); protected  ViperPresenter(@Nonnull R router); protected  ViperPresenter(); final void dropRouter(@Nonnull R router); final boolean hasRouter(); final void takeRouter(@Nonnull R router);  }
@Test public void shouldCallOnTakeRouterAfterRouterIsTaken() { presenter.dummy = false; presenter.takeRouter(router); }
@Test public void takenRouterShouldNotBeNull() { checkIllegalArgumentException(() -> presenter.takeRouter(null)); }