@Test public void testDataEnums() { String pkg = "package org.test\n import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngineTest.NestedClass"; SuggestionCompletionLoader loader = new SuggestionCompletionLoader(); List<String> enums = new ArrayList<String>(); enums.add("'Person.age' : [42, 43] \n 'Person.sex' : ['M', 'F']"); enums.add("'Driver.sex' : ['M', 'F']"); SuggestionCompletionEngine engine = loader.getSuggestionEngine( pkg, new ArrayList<JarInputStream>(), new ArrayList<DSLTokenizedMappingFile>(), enums); assertEquals( "String", engine.getFieldType("SuggestionCompletionEngineTest$NestedClass", "name")); assertEquals(3, engine.getDataEnumListsSize()); String[] items = engine.getDataEnumList("Person.age"); assertEquals(2, items.length); assertEquals("42", items[0]); assertEquals("43", items[1]); items = engine.getEnums("Person", null, "age").fixedList; assertEquals(2, items.length); assertEquals("42", items[0]); assertEquals("43", items[1]); assertNull(engine.getEnums("Nothing", null, "age")); assertEquals(null, engine.getEnums("Something", null, "else")); }
@Test public void testDataEnums2() { String pkg = "package org.test\n import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngineTest.Fact"; SuggestionCompletionLoader loader = new SuggestionCompletionLoader(); List<String> enums = new ArrayList<String>(); enums.add( "'Fact.field1' : ['val1', 'val2'], 'Fact.field2' : ['val3', 'val4'], 'Fact.field2[field1=val1]' : ['f1val1a', 'f1val1b'], 'Fact.field2[field1=val2]' : ['f1val2a', 'f1val2b']"); SuggestionCompletionEngine engine = loader.getSuggestionEngine( pkg, new ArrayList<JarInputStream>(), new ArrayList<DSLTokenizedMappingFile>(), enums); assertEquals("String", engine.getFieldType("SuggestionCompletionEngineTest$Fact", "field1")); assertEquals("String", engine.getFieldType("SuggestionCompletionEngineTest$Fact", "field2")); assertEquals(4, engine.getDataEnumListsSize()); String[] items = engine.getDataEnumList("Fact.field2"); assertEquals(2, items.length); assertEquals("val3", items[0]); assertEquals("val4", items[1]); FactPattern pat = new FactPattern("Fact"); SingleFieldConstraint sfc = new SingleFieldConstraint("field2"); pat.addConstraint(sfc); items = engine.getEnums(pat.getFactType(), pat.constraintList, "field2").fixedList; assertEquals(2, items.length); assertEquals("val3", items[0]); assertEquals("val4", items[1]); items = engine.getDataEnumList("Fact.field1"); assertEquals(2, items.length); assertEquals("val1", items[0]); assertEquals("val2", items[1]); items = engine.getEnums("Fact", null, "field1").fixedList; assertEquals(2, items.length); assertEquals("val1", items[0]); assertEquals("val2", items[1]); }