use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.
the class Mvp4gConfigurationFileReaderTest method setUp.
@Before
public void setUp() {
sourceWriter = new SourceWriterTestStub();
TreeLogger tl = new UnitTestTreeLogger.Builder().createLogger();
configuration = new Mvp4gConfiguration(tl, new GeneratorContextStub());
writer = new Mvp4gConfigurationFileWriter(sourceWriter, configuration);
String eventBusInterface = EventBus.class.getName();
String eventBusClass = BaseEventBus.class.getName();
configuration.setEventBus(new EventBusElement(eventBusInterface, eventBusClass, false));
ViewElement view = new ViewElement();
view.setClassName(Object.class.getName());
view.setName("startView");
configuration.getViews().add(view);
PresenterElement presenter = new PresenterElement();
presenter.setClassName(SimplePresenter01.class.getCanonicalName());
presenter.setName("startPresenter");
presenter.setView("startView");
configuration.getPresenters().add(presenter);
StartElement start = new StartElement();
start.setPresenter("startPresenter");
configuration.setStart(start);
GinModuleElement ginModule = new GinModuleElement();
ginModule.setModules(new String[] { DefaultMvp4gGinModule.class.getCanonicalName() });
configuration.setGinModule(ginModule);
TypeOracleStub oracle = (TypeOracleStub) configuration.getOracle();
configuration.setModule(oracle.addClass(Mvp4gModule.class));
}
use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.
the class EventsAnnotationsLoaderTest method testEventBusWithLookup.
@Test
public void testEventBusWithLookup() throws Mvp4gAnnotationException {
List<JClassType> annotedClasses = new ArrayList<JClassType>();
annotedClasses.add(oracle.addClass(SimplePresenter01.class));
new PresenterAnnotationsLoader().load(annotedClasses, configuration);
annotedClasses.clear();
JClassType type = oracle.addClass(Events.EventBusWithLookUp.class);
annotedClasses.add(type);
loader.load(annotedClasses, configuration);
EventBusElement eventBus = configuration.getEventBus();
assertEquals(BaseEventBusWithLookUp.class.getName(), eventBus.getAbstractClassName());
assertEquals(type.getQualifiedSourceName(), eventBus.getInterfaceClassName());
assertTrue(eventBus.isWithLookUp());
}
use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.
the class EventsAnnotationsLoaderTest method testEventOk.
@Test
public void testEventOk() throws Mvp4gAnnotationException {
List<JClassType> annotedClasses = new ArrayList<JClassType>();
annotedClasses.add(oracle.addClass(PresenterWithName.class));
annotedClasses.add(oracle.addClass(SimplePresenter01.class));
new PresenterAnnotationsLoader().load(annotedClasses, configuration);
annotedClasses.clear();
annotedClasses.add(oracle.addClass(HistoryConverterForEvent.class));
new HistoryAnnotationsLoader().load(annotedClasses, configuration);
annotedClasses.clear();
JClassType type = oracle.addClass(EventBusOk.class);
annotedClasses.add(type);
loader.load(annotedClasses, configuration);
Set<EventElement> events = configuration.getEvents();
assertEquals(5, events.size());
List<String> activates, deactivates, binds, generates;
for (EventElement e : events) {
if ("event1".equals(e.getType())) {
assertEquals(String.class.getName(), e.getEventObjectClass()[0]);
assertEquals("treatEvent1", e.getCalledMethod());
assertFalse(e.isNavigationEvent());
assertFalse(e.isWithTokenGeneration());
assertFalse(e.isPassive());
assertEquals("name", e.getHandlers().get(0));
assertEquals("history", e.getHistory());
} else if ("event2".equals(e.getType())) {
assertNull(e.getEventObjectClass());
assertEquals("onEvent2", e.getCalledMethod());
assertTrue(e.isNavigationEvent());
assertTrue(e.isWithTokenGeneration());
assertTrue(e.isPassive());
assertEquals("name", e.getHandlers().get(0));
assertEquals("history", e.getHistory());
} else if ("event3".equals(e.getType())) {
activates = e.getActivate();
deactivates = e.getDeactivate();
generates = e.getGenerate();
assertEquals(2, activates.size());
assertEquals(2, deactivates.size());
assertEquals(2, generates.size());
assertEquals("name", activates.get(1));
assertEquals("name", deactivates.get(1));
assertEquals("name", generates.get(1));
} else if ("event4".equals(e.getType())) {
activates = e.getActivate();
deactivates = e.getDeactivate();
generates = e.getGenerate();
assertEquals(4, activates.size());
assertEquals(4, deactivates.size());
assertEquals(4, generates.size());
assertEquals("name", activates.get(2));
assertEquals("name", deactivates.get(2));
assertEquals("name", generates.get(2));
assertEquals("name1", activates.get(3));
assertEquals("name1", deactivates.get(3));
assertEquals("name1", generates.get(3));
} else if ("event5".equals(e.getType())) {
binds = e.getBinds();
assertEquals(3, binds.size());
assertEquals("name", binds.get(0));
assertEquals("name", binds.get(1));
assertEquals("name1", binds.get(2));
} else {
fail("Unknown event name");
}
}
assertEquals("event2", configuration.getStart().getEventType());
assertEquals("event2", configuration.getHistory().getInitEvent());
assertEquals("event1", configuration.getHistory().getNotFoundEvent());
assertEquals("event2", configuration.getStart().getForwardEventType());
}
use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.
the class EventsAnnotationsLoaderTest method testSameEvent.
@Test(expected = Mvp4gAnnotationException.class)
public void testSameEvent() throws Mvp4gAnnotationException {
try {
List<JClassType> annotedClasses = new ArrayList<JClassType>();
annotedClasses.add(oracle.addClass(SimplePresenter01.class));
new PresenterAnnotationsLoader().load(annotedClasses, configuration);
annotedClasses.clear();
JClassType type = oracle.addClass(Events.EventBusWithSameMethod.class);
annotedClasses.add(type);
loader.load(annotedClasses, configuration);
} catch (Mvp4gAnnotationException e) {
assertTrue(e.getMessage().contains("Duplicate"));
throw e;
}
}
use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.
the class EventsAnnotationsLoaderTest method testEventNoAnnotation.
@Test(expected = Mvp4gAnnotationException.class)
public void testEventNoAnnotation() throws Mvp4gAnnotationException {
try {
List<JClassType> annotedClasses = new ArrayList<JClassType>();
annotedClasses.add(oracle.addClass(SimplePresenter01.class));
new PresenterAnnotationsLoader().load(annotedClasses, configuration);
annotedClasses.clear();
JClassType type = oracle.addClass(Events.EventBusWithMethodAndNoAnnotation.class);
annotedClasses.add(type);
loader.load(annotedClasses, configuration);
} catch (Mvp4gAnnotationException e) {
assertTrue(e.getMessage().contains("annotation missing."));
throw e;
}
}
Aggregations