class Presenter {

  public final void takeView(V view) {
    if (view == null) throw new NullPointerException("new view must not be null");

    if (this.view != view) {
      if (this.view != null) dropView(this.view);

      this.view = view;
      extractBundleService(view).register(registration);
    }
  }

}

class PresenterTest {

   MortarScope root;
   MortarScope activityScope;

  @Test public void onRegisteredIsFired() {

    SimplePresenter presenter = new SimplePresenter();
    SomeView viewOne = new SomeView();

    presenter.takeView(viewOne);
    assertThat(presenter.registered).isSameAs(activityScope);
  }

}