use of com.mvp4g.rebind.config.element.PresenterElement 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.PresenterElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testActivateDeActivateMultiple.
@Test
public void testActivateDeActivateMultiple() throws InvalidMvp4gConfigurationException {
EventBusElement eventBus = new EventBusElement(EventBusWithLookup.class.getName(), BaseEventBus.class.getName(), false);
configuration.setEventBus(eventBus);
EventElement event1 = newEvent("event1");
event1.setActivate(new String[] { "activate1", "activate2" });
event1.setDeactivate(new String[] { "deactivate1", "deactivate2" });
events.add(event1);
PresenterElement activate1 = newPresenter(SimplePresenter01.class, "activate1");
EventHandlerElement activate2 = newEventHandler(SimpleEventHandler01.class, "activate2");
PresenterElement deactivate1 = newPresenter(SimplePresenter02.class, "deactivate1");
EventHandlerElement deactivate2 = newEventHandler(SimpleEventHandler02.class, "deactivate2");
eventHandlers.add(activate1);
eventHandlers.add(activate2);
eventHandlers.add(deactivate1);
eventHandlers.add(deactivate2);
activate1.setMultiple(Boolean.TRUE.toString());
activate2.setMultiple(Boolean.TRUE.toString());
deactivate1.setMultiple(Boolean.TRUE.toString());
deactivate2.setMultiple(Boolean.TRUE.toString());
configuration.validateEventHandlers();
List<String> activate = event1.getActivate();
assertTrue(activate.size() == 2);
assertEquals(activate.get(0), activate1.getName());
assertEquals(activate.get(1), activate2.getName());
List<String> deactivate = event1.getDeactivate();
assertTrue(deactivate.size() == 2);
assertEquals(deactivate.get(0), deactivate1.getName());
assertEquals(deactivate.get(1), deactivate2.getName());
}
use of com.mvp4g.rebind.config.element.PresenterElement 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"));
}
}
use of com.mvp4g.rebind.config.element.PresenterElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testWrongEventHandlerClass.
@Test
public void testWrongEventHandlerClass() throws InvalidMvp4gConfigurationException {
EventBusElement eventBus = new EventBusElement(EventBusWithLookup.class.getName(), BaseEventBus.class.getName(), false);
configuration.setEventBus(eventBus);
EventElement event = newEvent("event");
event.setHandlers(new String[] { "test" });
events.add(event);
EventHandlerElement handler = new EventHandlerElement();
handler.setClassName(Object.class.getCanonicalName());
handler.setName("test");
eventHandlers.add(handler);
try {
configuration.validateEventHandlers();
fail();
} catch (InvalidClassException e) {
}
handler.setMultiple(Boolean.TRUE.toString());
try {
configuration.validateEventHandlers();
fail();
} catch (InvalidClassException e) {
}
PresenterElement presenter = new PresenterElement();
Class<?> c = SimpleEventHandler01.class;
oracle.addClass(c);
presenter.setClassName(c.getCanonicalName());
presenter.setName("test");
presenters.add(presenter);
try {
configuration.validateEventHandlers();
fail();
} catch (InvalidClassException e) {
}
presenter.setMultiple(Boolean.TRUE.toString());
try {
configuration.validateEventHandlers();
fail();
} catch (InvalidClassException e) {
}
}
use of com.mvp4g.rebind.config.element.PresenterElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testSplitterLoadersIncompatibleType.
@Test
public void testSplitterLoadersIncompatibleType() throws InvalidMvp4gConfigurationException {
EventBusElement eventBus = new EventBusElement(EventBus.class.getName(), BaseEventBus.class.getName(), false);
configuration.setEventBus(eventBus);
oracle.addClass(Loaders.Loader1.class);
oracle.addClass(Splitters.SplitterWithLoader.class);
PresenterElement presenter1 = newPresenter(SimplePresenter01.class, "presenter1");
presenter1.setAsync(Splitters.SplitterWithLoader.class.getCanonicalName());
presenters.add(presenter1);
EventElement event = new EventElement();
event.setHandlers(new String[] { "presenter1" });
configuration.getEvents().add(event);
try {
configuration.validateSplitters();
fail();
} catch (InvalidTypeException e) {
assertTrue(e.getMessage().contains("Can not convert " + EventBus.class.getCanonicalName()));
}
}
Aggregations