/**
*
*/
package org.opentides.processor;
import java.util.List;
import javax.tools.Diagnostic;
import javax.tools.Diagnostic.Kind;
import javax.tools.JavaFileObject;
import org.junit.Assert;
/**
* For unit testing of code generation. Copied from:
* http://jcavallotti.blogspot.com/2013/05/how-to-unit-test-annotation-processor.html
*
* @author allantan
*
*/
public class SimpleVerifierCase implements CompilerTestCase {
@Override
public String[] getClassesToCompile() {
return new String[] { "src/test/java/org/opentides/bean/Ninja.java" };
}
@Override
public void test(List<Diagnostic<? extends JavaFileObject>> diagnostics,
String stdout, Boolean result) {
// no mandatory warnings or compilation errors should be found.
for (Diagnostic<? extends JavaFileObject> diagnostic : diagnostics) {
if (diagnostic.getKind() == Kind.MANDATORY_WARNING
|| diagnostic.getKind() == Kind.ERROR) {
// ignore errors related to code generation of Ninja
if (diagnostic.getSource().getName().contains("Ninja"))
continue;
Assert.fail("Failed with message: "
+ diagnostic.toString());
}
}
// Assert.assertEquals("Files should have no compilation errors",
// Boolean.TRUE, result);
}
}