Search in sources :

Example 11 with Application

use of com.github.mvp4g.mvp4g2.core.application.annotation.Application in project mvp4g2 by mvp4g.

the class ApplicationTest method testApplictionAnnotationOnAMethod.

@Test
public void testApplictionAnnotationOnAMethod() {
    Compilation compilation = javac().withProcessors(new Mvp4g2Processor()).compile(new ArrayList<JavaFileObject>() {

        {
            add(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationOnAMethod/ApplicationAnnotationOnAMethod.java"));
        }
    });
    CompilationSubject.assertThat(compilation).failed();
    CompilationSubject.assertThat(compilation).hadErrorContaining("@Application can only be used on a type (interface)");
}
Also used : JavaFileObject(javax.tools.JavaFileObject) Compilation(com.google.testing.compile.Compilation) Mvp4g2Processor(com.github.mvp4g.mvp4g2.processor.Mvp4g2Processor) Test(org.junit.Test)

Example 12 with Application

use of com.github.mvp4g.mvp4g2.core.application.annotation.Application in project mvp4g2 by mvp4g.

the class ApplicationTest method testApplicationAnnotationOkWithLoaderAsInnerInterface.

@Test
public void testApplicationAnnotationOkWithLoaderAsInnerInterface() {
    Compilation compilation = javac().withProcessors(new Mvp4g2Processor()).compile(new ArrayList<JavaFileObject>() {

        {
            add(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationOkWithLoaderAsInnerInterface/ApplicationAnnotationOkWithLoaderAsInnerInterface.java"));
            add(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationOkWithLoaderAsInnerInterface/MockEventBus.java"));
            add(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationOkWithLoaderAsInnerInterface/MockOneEventHandler.java"));
            add(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationOkWithLoaderAsInnerInterface/MockShellPresenter.java"));
        }
    });
    CompilationSubject.assertThat(compilation).succeeded();
    JavaFileObjectSubject.assertThat(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationOkWithLoaderAsInnerInterface/ApplicationAnnotationOkWithLoaderAsInnerInterfaceImpl.java")).hasSourceEquivalentTo(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationOkWithLoaderAsInnerInterface/ApplicationAnnotationOkWithLoaderAsInnerInterfaceImpl.java"));
}
Also used : JavaFileObject(javax.tools.JavaFileObject) Compilation(com.google.testing.compile.Compilation) Mvp4g2Processor(com.github.mvp4g.mvp4g2.processor.Mvp4g2Processor) Test(org.junit.Test)

Example 13 with Application

use of com.github.mvp4g.mvp4g2.core.application.annotation.Application in project mvp4g2 by mvp4g.

the class ApplicationTest method testApplicationAnnotationWithoutEventBusAttribute.

@Test
public void testApplicationAnnotationWithoutEventBusAttribute() {
    Compilation compilation = javac().withProcessors(new Mvp4g2Processor()).compile(new ArrayList<JavaFileObject>() {

        {
            add(JavaFileObjects.forResource("com/github/mvp4g/mvp4g2/processor/application/applicationAnnotationWithoutEventBusAttribute/ApplicationAnnotationWithoutEventBusAttribute.java"));
        }
    });
    CompilationSubject.assertThat(compilation).failed();
    CompilationSubject.assertThat(compilation).hadErrorContaining("is missing a default value for the element 'eventBus");
}
Also used : JavaFileObject(javax.tools.JavaFileObject) Compilation(com.google.testing.compile.Compilation) Mvp4g2Processor(com.github.mvp4g.mvp4g2.processor.Mvp4g2Processor) Test(org.junit.Test)

Aggregations

Mvp4g2Processor (com.github.mvp4g.mvp4g2.processor.Mvp4g2Processor)8 Compilation (com.google.testing.compile.Compilation)8 JavaFileObject (javax.tools.JavaFileObject)8 Test (org.junit.Test)8 Element (javax.lang.model.element.Element)5 TypeElement (javax.lang.model.element.TypeElement)5 ProcessorException (com.github.mvp4g.mvp4g2.processor.ProcessorException)3 Application (com.github.mvp4g.mvp4g2.core.application.annotation.Application)1 Debug (com.github.mvp4g.mvp4g2.core.eventbus.annotation.Debug)1 EventBus (com.github.mvp4g.mvp4g2.core.eventbus.annotation.EventBus)1 History (com.github.mvp4g.mvp4g2.core.history.annotation.History)1 ApplicationMetaModel (com.github.mvp4g.mvp4g2.processor.model.ApplicationMetaModel)1 EventBusMetaModel (com.github.mvp4g.mvp4g2.processor.model.EventBusMetaModel)1 HistoryMetaModel (com.github.mvp4g.mvp4g2.processor.model.HistoryMetaModel)1 ApplicationAnnotationValidator (com.github.mvp4g.mvp4g2.processor.scanner.validation.ApplicationAnnotationValidator)1 EventBusAnnotationValidator (com.github.mvp4g.mvp4g2.processor.scanner.validation.EventBusAnnotationValidator)1 HistoryAnnotationValidator (com.github.mvp4g.mvp4g2.processor.scanner.validation.HistoryAnnotationValidator)1