@Test public void testAdd() { FactData fd = new FactData("x", "y", new ArrayList(), false ); assertEquals(0, fd.getFieldData().size()); fd.getFieldData().add(new FieldData("x", "y")); assertEquals(1, fd.getFieldData().size()); fd.getFieldData().add(new FieldData("q", "x")); assertEquals(2, fd.getFieldData().size()); } }
@Test public void testDummyRunNoRules() throws Exception { typeResolver.addImport("org.drools.Cheese"); List<Field> fieldData = new ArrayList<Field>(); fieldData.add(new FieldData("type", "cheddar")); fieldData.add(new FieldData("price", "42")); FactData fact = new FactData("Cheese", "c1", fieldData, false); NewFactPopulator newFactPopulator = new NewFactPopulator( populatedData, typeResolver, Thread.currentThread().getContextClassLoader(), fact); newFactPopulator.populate(workingMemory, new HashMap<String, FactHandle>()); assertTrue(populatedData.containsKey("c1")); assertNotNull(populatedData.get("c1")); assertEquals(populatedData.get("c1"), workingMemory.facts.get(0)); }
@Test public void testWithGlobals() throws Exception { FactData global = new FactData("Cheese", "c", Arrays.<Field>asList(new FieldData("type", "cheddar")), false); TypeResolver resolver = new ClassTypeResolver(new HashSet<String>(), Thread.currentThread().getContextClassLoader()); resolver.addImport("org.drools.Cheese"); MockWorkingMemory wm = new MockWorkingMemory(); Map<String, Object> populatedData = new HashMap<String, Object>(); Map<String, Object> globalData = new HashMap<String, Object>(); GlobalFactPopulator globalFactPopulator = new GlobalFactPopulator(populatedData, resolver, Thread.currentThread().getContextClassLoader(), global, globalData); globalFactPopulator.populate(wm, new HashMap<String, FactHandle>()); assertEquals(1, wm.globals.size()); assertEquals(1, globalData.size()); assertEquals(0, populatedData.size()); }
@Test public void testPopulateEmptyIntegerField() throws Exception { factPopulator.add( new NewFactPopulator( populatedData, getTypeResolver(), getClassLoader(), new FactData("Cheese", "c1", Arrays.<Field>asList( new FieldData( "price", "")), false))); factPopulator.populate(); assertTrue(populatedData.containsKey("c1")); assertTrue(populatedData.get("c1") instanceof Cheese); }
@Test public void testPopulateFacts() throws Exception { FactData factData = new FactData( "Person", "p1", Arrays.<Field>asList( new FieldData( "name", "mic"), new FieldData( "age", "=30 + 3")), false); factPopulator.add(new NewFactPopulator(populatedData, getTypeResolver(), getClassLoader(), factData)); factPopulator.populate(); assertTrue(populatedData.containsKey("p1")); Person person = (Person) populatedData.get("p1"); assertEquals("mic", person.getName()); assertEquals(33, person.getAge()); }
"f1", Arrays.<Field>asList( new FieldData("type", ""), new FieldData("price", "42")), false); "f2", Arrays.<Field>asList( new FieldData("type", ""), new FieldData("price", "43")), false); "f3", Arrays.<Field>asList( new FieldData("type", ""), new FieldData("price", "45")), false); FieldData field = new FieldData(); field.setName("cheeses"); field.setNature(FieldData.TYPE_COLLECTION);
@Test public void testSimpleFields() throws Exception { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); TypeResolver typeResolver = new ClassTypeResolver(new HashSet<String>(),classLoader ); typeResolver.addImport("org.drools.ide.common.server.testscenarios.Cheese"); Mouse mouse = new Mouse(); FactAssignmentField factAssignmentField = new FactAssignmentField("cheese", "Cheese"); factAssignmentField.getFact().getFieldData().add(new FieldData("name", "Best cheddar EVER! (tm)")); FactAssignmentFieldPopulator factAssignmentFieldPopulator = new FactAssignmentFieldPopulator(mouse, factAssignmentField, typeResolver, classLoader); factAssignmentFieldPopulator.populate(new HashMap<String, Object>()); assertEquals("Best cheddar EVER! (tm)", mouse.getCheese().getName()); }
private Scenario getDemo() { FactData d1 = new FactData("Driver", "d1", ls(new FieldData[]{new FieldData("age", "42"), new FieldData("name", "david")}), false); FactData d2 = new FactData("Driver", "d2", ls(new FieldData[]{new FieldData("name", "michael")}), false); FactData d3 = new FactData("Driver", "d3", ls(new FieldData[]{new FieldData("name", "michael2")}), false); FactData d4 = new FactData("Accident", "a1", ls(new FieldData[]{new FieldData("name", "michael2")}), false); Scenario sc = new Scenario(); sc.getFixtures().add(d1);
@Test public void testNewScenario() { FactData d1 = new FactData("Driver", "d1", ls(new FieldData[]{new FieldData("age", "42"), new FieldData("name", "david")}), false); Scenario sc = new Scenario(); sc.getFixtures().add(d1); sc.getFixtures().add(new ExecutionTrace()); int size = sc.getFixtures().size(); String xml = ScenarioXMLPersistence.getInstance().marshal(sc); Scenario sc_ = ScenarioXMLPersistence.getInstance().unmarshal(xml); assertEquals(size, sc_.getFixtures().size()); sc = new Scenario(); sc.getFixtures().add(new ExecutionTrace()); xml = ScenarioXMLPersistence.getInstance().marshal(sc); sc_ = ScenarioXMLPersistence.getInstance().unmarshal(xml); assertEquals(1, sc_.getFixtures().size()); }
@Test public void testCollectionSums() throws Exception { TypeResolver typeResolver = getTypeResolver(); List<Field> fieldData = new ArrayList<Field>(); CollectionFieldData collectionFieldData = new CollectionFieldData(); collectionFieldData.setName("list"); fieldData.add(collectionFieldData); collectionFieldData.getCollectionFieldList().add(new FieldData("list", "=1+3")); FactData wrapperFactData = new FactData( "MyCollectionWrapper", "wrapper", fieldData, false); factPopulator.add(new NewFactPopulator( populatedData, typeResolver, Thread.currentThread().getContextClassLoader(), wrapperFactData)); factPopulator.populate(); assertTrue(populatedData.containsKey("wrapper")); MyCollectionWrapper wrapper = (MyCollectionWrapper) populatedData.get("wrapper"); assertNotNull(wrapper); assertEquals(1, wrapper.getList().size()); assertNotNull(wrapper.getList().get(0)); assertEquals(4, wrapper.getList().get(0)); }
@Test public void testPopulateEnum() throws Exception { FieldData fieldData = new FieldData( "cheeseType", "CheeseType.CHEDDAR"); fieldData.setNature(FieldData.TYPE_ENUM); FactData factData = new FactData("Cheese", "c1", asList((Field) fieldData), false); factPopulator.add(new NewFactPopulator(populatedData, getTypeResolver(), getClassLoader(), factData)); factPopulator.populate(); assertTrue(populatedData.containsKey("c1")); Cheese cheese = (Cheese) populatedData.get("c1"); assertEquals(CheeseType.CHEDDAR, cheese.getCheeseType()); }