+ "end\n"
+ "declare Address2 extends Address\n"
+ "isNicePlace : Boolean \n"
+ "end";
SuggestionCompletionLoader loader = new SuggestionCompletionLoader();
SuggestionCompletionEngine eng = loader.getSuggestionEngine( packageDrl,
new ArrayList(),
new ArrayList() );
assertFalse( loader.hasErrors() );
assertNotNull( eng );
assertEquals( 2,
eng.getFactTypes().length );
assertEquals( "Address",
eng.getFactTypes()[0] );
assertEquals( "Address2",
eng.getFactTypes()[1] );
assertEquals( 4,
eng.getFieldCompletions( "Address" ).length );
assertEquals( "Address",
eng.getFieldType( "Address",
"this" ) );
assertEquals( SuggestionCompletionEngine.TYPE_STRING,
eng.getFieldType( "Address",
"street" ) );
assertEquals( SuggestionCompletionEngine.TYPE_STRING,
eng.getFieldType( "Address",
"suburb" ) );
assertEquals( SuggestionCompletionEngine.TYPE_STRING,
eng.getFieldType( "Address",
"zipCode" ) );
assertEquals( 5,
eng.getFieldCompletions( "Address2" ).length );
assertEquals( "Address2",
eng.getFieldType( "Address2",
"this" ) );
assertEquals( SuggestionCompletionEngine.TYPE_STRING,
eng.getFieldType( "Address2",
"street" ) );
assertEquals( SuggestionCompletionEngine.TYPE_STRING,
eng.getFieldType( "Address2",
"suburb" ) );
assertEquals( SuggestionCompletionEngine.TYPE_STRING,
eng.getFieldType( "Address2",
"zipCode" ) );
assertEquals( SuggestionCompletionEngine.TYPE_BOOLEAN,
eng.getFieldType( "Address2",
"isNicePlace" ) );
}