@Test public void oldPresentersAreRemovedFromPanel() { binder.bind(names).to(parent, panel, presenterFactory); names.add("one"); names.add("two"); assertThat(panel.getWidgetCount(), is(2)); assertThat(parent.getChildren().size(), is(2)); names.remove("one"); assertThat(panel.getWidgetCount(), is(1)); assertLabel(panel.getIsWidget(0), "two"); assertThat(parent.getChildren().size(), is(1)); }
@Test public void whenIsAttach() { final BooleanProperty b = booleanProperty("b", false); final StubWidget w = new StubWidget(); final StubFlowPanel p = new StubFlowPanel(); binder.when(b).is(true).attach(w).to(p); assertThat(p.getWidgetCount(), is(0)); b.set(true); assertThat(p.getWidgetCount(), is(1)); b.set(false); assertThat(p.getWidgetCount(), is(0)); }
@Test public void oldNamesAreRemovedFromPanel() { binder.bind(names).to(panel, viewFactory); names.add("one"); names.add("two"); assertThat(panel.getWidgetCount(), is(2)); names.remove("one"); assertThat(panel.getWidgetCount(), is(1)); assertLabel(panel.getIsWidget(0), "two"); }
@Test public void newPresentersAreAddedToPanel() { binder.bind(names).to(parent, panel, presenterFactory); assertThat(panel.getWidgetCount(), is(0)); names.add("one"); assertLabel(panel.getIsWidget(0), "one"); assertThat(parent.getChildren().size(), is(1)); }
@Test public void reordersToDoNotRequireCreatingNewViews() { binder.bind(names).to(panel, viewFactory); names.set(list("one", "two")); assertThat(panel.getWidgetCount(), is(2)); assertLabel(panel.getIsWidget(0), "one"); assertThat(viewFactory.created, is(2)); names.set(list("two", "one")); assertThat(panel.getWidgetCount(), is(2)); assertLabel(panel.getIsWidget(0), "two"); assertThat(viewFactory.created, is(2)); }
@Test public void reordersToDoNotRequireCreatingNewPresenters() { binder.bind(names).to(parent, panel, presenterFactory); names.set(list("one", "two")); assertThat(panel.getWidgetCount(), is(2)); assertLabel(panel.getIsWidget(0), "one"); assertThat(presenterFactory.created, is(2)); names.set(list("two", "one")); assertThat(panel.getWidgetCount(), is(2)); assertLabel(panel.getIsWidget(0), "two"); assertThat(presenterFactory.created, is(2)); }
@Test public void newNamesAreAddedToPanel() { binder.bind(names).to(panel, viewFactory); assertThat(panel.getWidgetCount(), is(0)); names.add("one"); assertLabel(panel.getIsWidget(0), "one"); }
@Test public void bindDoesNotNullPointerExceptionForViews() { names.set(null); binder.bind(names).to(panel, viewFactory); names.set(Copy.list("one")); assertThat(panel.getWidgetCount(), is(1)); }
@Test public void bindDoesNotNullPointerExceptionForPresenters() { names.set(null); ParentPresenter parent = bind(new ParentPresenter()); binder.bind(names).to(parent, panel, presenterFactory); names.set(Copy.list("one")); assertThat(panel.getWidgetCount(), is(1)); }