// Add jar file
String header = "package foo \n import org.test.Person \n import org.test.Banana \n ";
List<JarInputStream> jars = new ArrayList<JarInputStream>();
JarInputStream jis = null;
SuggestionCompletionEngine suggestionCompletionEngine = null;
try {
jis = new JarInputStream( this.getClass().getResourceAsStream(
"/JarWithSourceFiles.jar" ) );
jars.add( jis );
} catch ( IOException e ) {
fail( "Could not load jar" );
}
try {
suggestionCompletionEngine = loader.getSuggestionEngine( header,
jars,
new ArrayList<DSLTokenizedMappingFile>() );
} catch ( ClassFormatError e ) {
fail( "Can not load suggestions " + e );
}
// Check that it throws no error and has class files inside.
assertNotNull( jis );
assertNotNull( suggestionCompletionEngine );
assertEquals( 2,
suggestionCompletionEngine.getFactTypes().length );
List<String> list = Arrays.asList( suggestionCompletionEngine
.getFactTypes() );
assertTrue( list.contains( "Person" ) );
assertTrue( list.contains( "Banana" ) );
assertEquals( "java.util.Collection",
suggestionCompletionEngine.getFieldClassName( "Person",
"bananas" ) );
assertEquals( SuggestionCompletionEngine.TYPE_COLLECTION,
suggestionCompletionEngine.getFieldType( "Person",
"bananas" ) );
assertEquals( "Banana",
suggestionCompletionEngine.getParametricFieldType( "Person",
"bananas" ) );
}