Search in sources :

Example 6 with ChildModuleElement

use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.

the class Mvp4gConfigurationTest method testEventWithNoObjectForAutoDisplay.

@Test(expected = InvalidMvp4gConfigurationException.class)
public void testEventWithNoObjectForAutoDisplay() throws InvalidMvp4gConfigurationException {
    ChildModuleElement childModule1 = newChildModule(Modules.ChildModule01.class, "child1");
    childModule1.setEventToDisplayView("testEvent");
    childModules.add(childModule1);
    EventElement event = newEvent("testEvent");
    event.setForwardToModules(new String[] { "child1" });
    events.add(event);
    setEventBus();
    try {
        configuration.validateChildModules();
        fail();
    } catch (InvalidMvp4gConfigurationException e) {
        assertEquals("Event testEvent: event must have one and only one an object associated with it as it loads a child view.", e.getMessage());
        throw e;
    }
}
Also used : EventElement(com.mvp4g.rebind.config.element.EventElement) InvalidMvp4gConfigurationException(com.mvp4g.rebind.exception.InvalidMvp4gConfigurationException) Modules(com.mvp4g.rebind.test_tools.Modules) ChildModuleElement(com.mvp4g.rebind.config.element.ChildModuleElement) Test(org.junit.Test)

Example 7 with ChildModuleElement

use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.

the class Mvp4gConfigurationTest method newChildModule.

private ChildModuleElement newChildModule(Class<? extends Mvp4gModule> c, String name) {
    ChildModuleElement childModule = new ChildModuleElement();
    childModule.setName(name);
    oracle.addClass(c);
    childModule.setClassName(c.getCanonicalName());
    return childModule;
}
Also used : ChildModuleElement(com.mvp4g.rebind.config.element.ChildModuleElement)

Example 8 with ChildModuleElement

use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.

the class Mvp4gConfigurationTest method testChildModuleLoadersIncompatibleType.

@Test
public void testChildModuleLoadersIncompatibleType() throws InvalidMvp4gConfigurationException {
    EventBusElement eventBus = new EventBusElement(EventBus.class.getName(), BaseEventBus.class.getName(), false);
    configuration.setEventBus(eventBus);
    oracle.addClass(Loaders.Loader1.class);
    oracle.addClass(Modules.ModuleWithLoader.class);
    ChildModuleElement withLoader = new ChildModuleElement();
    withLoader.setName("withLoader");
    withLoader.setClassName(Modules.ModuleWithLoader.class.getCanonicalName());
    childModules.add(withLoader);
    try {
        configuration.findChildModuleHistoryNameAndLoader();
        fail();
    } catch (InvalidTypeException e) {
        assertTrue(e.getMessage().contains("Can not convert " + EventBus.class.getCanonicalName()));
    }
}
Also used : Modules(com.mvp4g.rebind.test_tools.Modules) EventBusElement(com.mvp4g.rebind.config.element.EventBusElement) BaseEventBus(com.mvp4g.client.event.BaseEventBus) Loaders(com.mvp4g.rebind.test_tools.Loaders) EventBus(com.mvp4g.client.event.EventBus) BaseEventBus(com.mvp4g.client.event.BaseEventBus) ChildModuleElement(com.mvp4g.rebind.config.element.ChildModuleElement) InvalidTypeException(com.mvp4g.rebind.exception.InvalidTypeException) Test(org.junit.Test)

Example 9 with ChildModuleElement

use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.

the class Mvp4gConfigurationTest method testFindChildModuleHistory.

@Test
public void testFindChildModuleHistory() throws InvalidMvp4gConfigurationException {
    setEventBus();
    oracle.addClass(Modules.ModuleWithParent01.class);
    oracle.addClass(Modules.ModuleWithParentNoName.class);
    oracle.addClass(Modules.Module01.class);
    ChildModuleElement childModule1 = new ChildModuleElement();
    childModule1.setName("child1");
    childModule1.setClassName(Modules.ModuleWithParent01.class.getCanonicalName());
    childModules.add(childModule1);
    ChildModuleElement childModule2 = new ChildModuleElement();
    childModule2.setName("child2");
    childModule2.setClassName(Modules.Module01.class.getCanonicalName());
    childModules.add(childModule2);
    ChildModuleElement childModule3 = new ChildModuleElement();
    childModule3.setName("child3");
    childModule3.setClassName(Modules.ModuleWithParentNoName.class.getCanonicalName());
    childModules.add(childModule3);
    configuration.findChildModuleHistoryNameAndLoader();
    assertNull(childModule2.getHistoryName());
    assertNull(childModule3.getHistoryName());
    assertEquals("moduleWithParent01", childModule1.getHistoryName());
}
Also used : Modules(com.mvp4g.rebind.test_tools.Modules) ChildModuleElement(com.mvp4g.rebind.config.element.ChildModuleElement) Test(org.junit.Test)

Example 10 with ChildModuleElement

use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.

the class Mvp4gConfigurationTest method testChildViewLoadEvent.

@Test
public void testChildViewLoadEvent() throws InvalidMvp4gConfigurationException {
    ChildModuleElement childModule = newChildModule(Modules.ChildModule01.class, "child");
    childModule.setEventToDisplayView("testEvent");
    configuration.getOthersEventBusClassMap().put(Modules.ChildModule01.class.getCanonicalName(), oracle.addClass(EventBusOk.class));
    childModules.add(childModule);
    EventElement event = newEvent("testEvent");
    event.setForwardToModules(new String[] { "child" });
    event.setEventObjectClass(new String[] { String.class.getCanonicalName() });
    events.add(event);
    setEventBus();
    configuration.setModule(oracle.addClass(Modules.ModuleWithParent01.class));
    try {
        configuration.validateChildModules();
        fail();
    } catch (InvalidMvp4gConfigurationException e) {
        assertEquals(e.getMessage(), String.format("Child Module %s: event %s can not load child module's start view. Can not convert %s to %s.", childModule.getClassName(), "testEvent", SimpleView.class.getCanonicalName(), String.class.getCanonicalName()));
    }
    event = newEvent("testEvent");
    event.setForwardToModules(new String[] { "child" });
    event.setEventObjectClass(new String[] { Object.class.getCanonicalName() });
    events.clear();
    events.add(event);
    configuration.validateChildModules();
}
Also used : EventElement(com.mvp4g.rebind.config.element.EventElement) InvalidMvp4gConfigurationException(com.mvp4g.rebind.exception.InvalidMvp4gConfigurationException) Modules(com.mvp4g.rebind.test_tools.Modules) EventBusOk(com.mvp4g.rebind.test_tools.annotation.events.EventBusOk) SimpleView(com.mvp4g.rebind.test_tools.annotation.views.SimpleView) OneObject(com.mvp4g.rebind.test_tools.OneObject) ChildModuleElement(com.mvp4g.rebind.config.element.ChildModuleElement) Test(org.junit.Test)

Aggregations

ChildModuleElement (com.mvp4g.rebind.config.element.ChildModuleElement)18 Test (org.junit.Test)16 Modules (com.mvp4g.rebind.test_tools.Modules)15 EventElement (com.mvp4g.rebind.config.element.EventElement)12 OneObject (com.mvp4g.rebind.test_tools.OneObject)6 JClassType (com.google.gwt.core.ext.typeinfo.JClassType)5 InvalidMvp4gConfigurationException (com.mvp4g.rebind.exception.InvalidMvp4gConfigurationException)5 TestBroadcast (com.mvp4g.rebind.test_tools.annotation.TestBroadcast)3 TestBroadcast2 (com.mvp4g.rebind.test_tools.annotation.TestBroadcast2)3 Loaders (com.mvp4g.rebind.test_tools.Loaders)2 EventBusOk (com.mvp4g.rebind.test_tools.annotation.events.EventBusOk)2 Mvp4gModule (com.mvp4g.client.Mvp4gModule)1 BaseEventBus (com.mvp4g.client.event.BaseEventBus)1 EventBus (com.mvp4g.client.event.EventBus)1 EventBusElement (com.mvp4g.rebind.config.element.EventBusElement)1 LoaderElement (com.mvp4g.rebind.config.element.LoaderElement)1 InvalidTypeException (com.mvp4g.rebind.exception.InvalidTypeException)1 EventBusWithNoStartPresenter (com.mvp4g.rebind.test_tools.annotation.Events.EventBusWithNoStartPresenter)1 SimpleView (com.mvp4g.rebind.test_tools.annotation.views.SimpleView)1