@Test public void setupTest() { final InOrder order = inOrder(contributorsListItemPresenter); presenter.setup(contributorsListService, contributorsCountChangedCallback); verify(view).init(presenter); verify(contributorsCountChangedCallback).accept(3); verify(view).clearContributors(); order.verify(contributorsListItemPresenter).setup(contributors.get(0), presenter, contributorsListService); order.verify(contributorsListItemPresenter).setup(contributors.get(2), presenter, contributorsListService); order.verify(contributorsListItemPresenter).setup(contributors.get(1), presenter, contributorsListService); verify(view, times(3)).addContributor(any()); }
public void setup(final ContributorsListService contributorsListService, final Consumer<Integer> contributorsCountChangedCallback) { this.contributorsListService = contributorsListService; this.contributorsCountChangedCallback = contributorsCountChangedCallback; refresh(); this.contributorsListService.onExternalChange(this::refresh); }
ContributorsListPresenter { public void setup(final ContributorsListService contributorsListService, final Consumer<Integer> contributorsCountChangedCallback) { this.contributorsListService = contributorsListService; this.contributorsCountChangedCallback = contributorsCountChangedCallback; refresh(); this.contributorsListService.onExternalChange(this::refresh); } }
ContributorsListPresenter { public void setup(final ContributorsListService contributorsListService, final Consumer<Integer> contributorsCountChangedCallback) { this.contributorsListService = contributorsListService; this.contributorsCountChangedCallback = contributorsCountChangedCallback; refresh(); this.contributorsListService.onExternalChange(this::refresh); } @Inject  ContributorsListPresenter(final View view,
                                     final ManagedInstance<ContributorsListItemPresenter> contributorsListItemPresenters,
                                     final Elemental2DomUtil elemental2DomUtil,
                                     final Promises promises); }
ContributorsListPresenter { public void setup(final ContributorsListService contributorsListService, final Consumer<Integer> contributorsCountChangedCallback) { this.contributorsListService = contributorsListService; this.contributorsCountChangedCallback = contributorsCountChangedCallback; refresh(); this.contributorsListService.onExternalChange(this::refresh); } @Inject  ContributorsListPresenter(final View view,
                                     final ManagedInstance<ContributorsListItemPresenter> contributorsListItemPresenters,
                                     final Elemental2DomUtil elemental2DomUtil,
                                     final Promises promises); void setup(final ContributorsListService contributorsListService,
                      final Consumer<Integer> contributorsCountChangedCallback); void refresh(); void updateContributors(); void filterContributors(final String filter); void addContributor(); void itemIsBeingEdited(); void itemIsNotBeingEdited(); Promise<Boolean> canEditContributors(final ContributorType type); List<String> getValidUsernames(); View getView(); }
ContributorsListPresenter { public void setup(final ContributorsListService contributorsListService, final Consumer<Integer> contributorsCountChangedCallback) { this.contributorsListService = contributorsListService; this.contributorsCountChangedCallback = contributorsCountChangedCallback; refresh(); this.contributorsListService.onExternalChange(this::refresh); } @Inject  ContributorsListPresenter(final View view,
                                     final ManagedInstance<ContributorsListItemPresenter> contributorsListItemPresenters,
                                     final Elemental2DomUtil elemental2DomUtil,
                                     final Promises promises); void setup(final ContributorsListService contributorsListService,
                      final Consumer<Integer> contributorsCountChangedCallback); void refresh(); void updateContributors(); void filterContributors(final String filter); void addContributor(); void itemIsBeingEdited(); void itemIsNotBeingEdited(); Promise<Boolean> canEditContributors(final ContributorType type); List<String> getValidUsernames(); View getView();  }