Search in sources :

Example 11 with ViewElement

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());
}
Also used : SimpleView02(com.mvp4g.rebind.test_tools.annotation.views.SimpleView02) SimpleView03(com.mvp4g.rebind.test_tools.annotation.views.SimpleView03) SimpleView04(com.mvp4g.rebind.test_tools.annotation.views.SimpleView04) EventElement(com.mvp4g.rebind.config.element.EventElement) Presenters(com.mvp4g.rebind.test_tools.annotation.Presenters) ViewElement(com.mvp4g.rebind.config.element.ViewElement) PresenterElement(com.mvp4g.rebind.config.element.PresenterElement) SimplePresenter01(com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01) Test(org.junit.Test)

Example 12 with ViewElement

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());
}
Also used : EventElement(com.mvp4g.rebind.config.element.EventElement) ViewElement(com.mvp4g.rebind.config.element.ViewElement) PresenterElement(com.mvp4g.rebind.config.element.PresenterElement) Test(org.junit.Test)

Example 13 with ViewElement

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));
}
Also used : EventElement(com.mvp4g.rebind.config.element.EventElement) EventBusElement(com.mvp4g.rebind.config.element.EventBusElement) EventBusWithLookup(com.mvp4g.client.event.EventBusWithLookup) BaseEventBus(com.mvp4g.client.event.BaseEventBus) EventHandlerElement(com.mvp4g.rebind.config.element.EventHandlerElement) ViewElement(com.mvp4g.rebind.config.element.ViewElement) PresenterElement(com.mvp4g.rebind.config.element.PresenterElement) Test(org.junit.Test)

Example 14 with ViewElement

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));
}
Also used : ViewElement(com.mvp4g.rebind.config.element.ViewElement) PresenterElement(com.mvp4g.rebind.config.element.PresenterElement) Test(org.junit.Test)

Example 15 with ViewElement

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"));
    }
}
Also used : EventElement(com.mvp4g.rebind.config.element.EventElement) ViewElement(com.mvp4g.rebind.config.element.ViewElement) PresenterElement(com.mvp4g.rebind.config.element.PresenterElement) InvalidTypeException(com.mvp4g.rebind.exception.InvalidTypeException) Test(org.junit.Test)

Aggregations

ViewElement (com.mvp4g.rebind.config.element.ViewElement)17 Test (org.junit.Test)15 PresenterElement (com.mvp4g.rebind.config.element.PresenterElement)14 EventElement (com.mvp4g.rebind.config.element.EventElement)12 EventHandlerElement (com.mvp4g.rebind.config.element.EventHandlerElement)4 Presenters (com.mvp4g.rebind.test_tools.annotation.Presenters)4 BaseEventBus (com.mvp4g.client.event.BaseEventBus)3 EventBusElement (com.mvp4g.rebind.config.element.EventBusElement)3 InvalidTypeException (com.mvp4g.rebind.exception.InvalidTypeException)3 JClassType (com.google.gwt.core.ext.typeinfo.JClassType)2 EventBusWithLookup (com.mvp4g.client.event.EventBusWithLookup)2 InvalidMvp4gConfigurationException (com.mvp4g.rebind.exception.InvalidMvp4gConfigurationException)2 TestBroadcast (com.mvp4g.rebind.test_tools.annotation.TestBroadcast)2 SimpleView02 (com.mvp4g.rebind.test_tools.annotation.views.SimpleView02)2 ArrayList (java.util.ArrayList)2 EventBus (com.mvp4g.client.event.EventBus)1 OneObject (com.mvp4g.rebind.test_tools.OneObject)1 TestBroadcast2 (com.mvp4g.rebind.test_tools.annotation.TestBroadcast2)1 SimplePresenter01 (com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01)1 SimpleView03 (com.mvp4g.rebind.test_tools.annotation.views.SimpleView03)1