package org.tessell.tests.presenter;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import org.junit.Test;
import org.tessell.gwt.user.client.ui.IsWidget;
import org.tessell.presenter.BasicPresenter;
import org.tessell.presenter.Presenter;
public class PresenterChildrenTest {
@Test
public void addingInConstructorDoesNotBindRightAway() {
final ChildPresenter child = new ChildPresenter();
final AddInConstructorPresenter p = new AddInConstructorPresenter(child);
assertThat(child.wasBound, is(false));
p.bind();
assertThat(child.wasBound, is(true));
}
@Test
public void addingInOnBindDoesBind() {
final ChildPresenter child = new ChildPresenter();
final AddInOnBindPresenter p = new AddInOnBindPresenter(child);
assertThat(child.wasBound, is(false));
p.bind();
assertThat(child.wasBound, is(true));
}
public class AddInConstructorPresenter extends BasicPresenter<IsWidget> {
public AddInConstructorPresenter(final Presenter child) {
super(null);
addPresenter(child);
}
}
public class AddInOnBindPresenter extends BasicPresenter<IsWidget> {
private final Presenter child;
public AddInOnBindPresenter(final Presenter child) {
super(null);
this.child = child;
}
@Override
protected void onBind() {
super.onBind();
addPresenter(child);
}
}
public class ChildPresenter extends BasicPresenter<IsWidget> {
public boolean wasBound = false;
public ChildPresenter() {
super(null);
}
@Override
public void onBind() {
super.onBind();
wasBound = true;
}
}
}