use of com.mvp4g.rebind.config.element.ViewElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testInstantiateViewAtStart.
@Test
public void testInstantiateViewAtStart() throws InvalidMvp4gConfigurationException {
ViewElement view1 = newView(SimpleView02.class, "view1");
view1.setClassName(SimpleView02.class.getCanonicalName());
views.add(view1);
ViewElement view2 = newView(SimpleView03.class, "view2");
view2.setClassName(SimpleView03.class.getCanonicalName());
views.add(view2);
ViewElement view3 = newView(SimpleView04.class, "view3");
view3.setClassName(SimpleView04.class.getCanonicalName());
views.add(view3);
PresenterElement presenter = new PresenterElement();
presenter.setName("presenter1");
Class<?> c = SimplePresenter01.class;
presenter.setClassName(c.getCanonicalName());
oracle.addClass(c);
presenter.setView("view1");
presenters.add(presenter);
PresenterElement presenter2 = new PresenterElement();
presenter2.setName("presenter2");
c = PresenterWithService.class;
presenter2.setClassName(c.getCanonicalName());
oracle.addClass(c);
presenter2.setView("view2");
presenter2.setMultiple("true");
presenters.add(presenter2);
PresenterElement presenter3 = new PresenterElement();
presenter3.setName("presenter3");
c = Presenters.AsyncPresenter.class;
oracle.addClass(c);
presenter3.setClassName(c.getCanonicalName());
presenter3.setView("view3");
presenter3.setAsync("true");
presenters.add(presenter3);
EventElement event = newEvent("event");
event.setHandlers(new String[] { "presenter1", "presenter2", "presenter3" });
events.add(event);
setEventBus();
configuration.validateEventHandlers();
assertTrue(view1.isInstantiateAtStart());
assertFalse(view2.isInstantiateAtStart());
assertFalse(view3.isInstantiateAtStart());
}
use of com.mvp4g.rebind.config.element.ViewElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testEventHandlerValidationSucceedsNoInjectedView.
@Test
public void testEventHandlerValidationSucceedsNoInjectedView() throws InvalidMvp4gConfigurationException {
ViewElement view = newView(SimpleView01.class, "view");
views.add(view);
PresenterElement presenter = newPresenter(SimplePresenter01.class, "testHandler");
presenter.setView("view");
presenters.add(presenter);
EventElement event = newEvent("testEvent");
event.setHandlers(new String[] { "testHandler" });
events.add(event);
setEventBus();
configuration.validateEventHandlers();
assertFalse(presenter.hasInverseView());
}
use of com.mvp4g.rebind.config.element.ViewElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testGenerate.
@Test
public void testGenerate() throws InvalidMvp4gConfigurationException {
EventBusElement eventBus = new EventBusElement(EventBusWithLookup.class.getName(), BaseEventBus.class.getName(), false);
configuration.setEventBus(eventBus);
EventElement event1 = newEvent("event1");
event1.setHandlers(new String[] { "generate2" });
event1.setGenerate(new String[] { "generate1", "generate2" });
events.add(event1);
ViewElement view = newView(SimpleView01.class, "view");
views.add(view);
PresenterElement generate1 = newPresenter(SimplePresenter01.class, "generate1");
generate1.setView("view");
EventHandlerElement generate2 = newEventHandler(SimpleEventHandler01.class, "generate2");
presenters.add(generate1);
eventHandlers.add(generate2);
generate1.setMultiple(Boolean.TRUE.toString());
generate2.setMultiple(Boolean.TRUE.toString());
configuration.validateEventHandlers();
List<String> generate = event1.getGenerate();
assertEquals(2, generate.size());
assertEquals(generate.get(0), generate1.getName());
assertEquals(generate.get(1), generate2.getName());
List<String> handlers = event1.getHandlers();
assertEquals(1, handlers.size());
assertEquals(generate2.getName(), handlers.get(0));
}
use of com.mvp4g.rebind.config.element.ViewElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testViewRemove.
@Test
public void testViewRemove() throws UnknownConfigurationElementException, InvalidTypeException, InvalidClassException, NotFoundClassException {
ViewElement view1 = newView(SimpleView02.class, "view1");
ViewElement view2 = newView(SimpleView03.class, "view2");
ViewElement view3 = newView(SimpleView04.class, "view3");
views.add(view1);
views.add(view2);
views.add(view3);
PresenterElement presenter = newPresenter(SimplePresenter01.class, "testPresenter");
presenter.setView("view1");
presenters.add(presenter);
assertEquals(views.size(), 3);
assertTrue(views.contains(view1));
assertTrue(views.contains(view2));
assertTrue(views.contains(view3));
configuration.validateViews();
assertEquals(views.size(), 1);
assertTrue(views.contains(view1));
assertFalse(views.contains(view2));
assertFalse(views.contains(view3));
}
use of com.mvp4g.rebind.config.element.ViewElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testEventHandlerValidationInvalidView.
@Test
public void testEventHandlerValidationInvalidView() throws InvalidMvp4gConfigurationException {
ViewElement view = newView(SimpleView02.class, "view");
view.setClassName(Integer.class.getName());
views.add(view);
PresenterElement presenter = newPresenter(SimplePresenter01.class, "testHandler");
presenter.setView("view");
presenters.add(presenter);
EventElement event = newEvent("testEvent");
event.setHandlers(new String[] { "testHandler" });
events.add(event);
try {
setEventBus();
configuration.validateEventHandlers();
fail();
} catch (InvalidTypeException e) {
assertTrue(e.getMessage().contains("View"));
}
presenter.setMultiple(Boolean.TRUE.toString());
try {
setEventBus();
configuration.validateEventHandlers();
fail();
} catch (InvalidTypeException e) {
assertTrue(e.getMessage().contains("View"));
}
}
Aggregations