/** * {@link ViewWithPresenter#getPresenter()} */ public P getPresenter() { if (presenterFactory != null) { if (presenter == null && bundle != null) presenter = PresenterStorage.INSTANCE.getPresenter(bundle.getString(PRESENTER_ID_KEY)); if (presenter == null) { presenter = presenterFactory.createPresenter(); PresenterStorage.INSTANCE.add(presenter); presenter.create(bundle == null ? null : bundle.getBundle(PRESENTER_KEY)); } bundle = null; } return presenter; }
@Test public void testOnDestroy() throws Exception { Presenter.OnDestroyListener listener = mock(Presenter.OnDestroyListener.class); Presenter presenter = new Presenter(); presenter.create(null); presenter.addOnDestroyListener(listener); presenter.destroy(); verify(listener, times(1)).onDestroy(); verifyNoMoreInteractions(listener); }
@Test public void testOnNoDestroy() throws Exception { Presenter.OnDestroyListener listener = mock(Presenter.OnDestroyListener.class); Presenter presenter = new Presenter(); presenter.create(null); presenter.addOnDestroyListener(listener); presenter.removeOnDestroyListener(listener); presenter.destroy(); verifyNoMoreInteractions(listener); } }