use of org.drools.beliefs.bayes.model.Network in project drools by kiegroup.
the class ParserTest method testSprinklerLoadBif.
@Test
public void testSprinklerLoadBif() {
Bif bif = (Bif) XmlBifParser.loadBif(ParserTest.class.getResource("Garden.xmlbif"));
Network network = bif.getNetwork();
assertEquals("Garden", network.getName());
assertEquals("package = org.drools.beliefs.bayes.integration", network.getProperties().get(0));
Map<String, Variable> varMap = varToMap(network.getVariables());
assertEquals(4, varMap.size());
Variable var = varMap.get("WetGrass");
assertEquals("WetGrass", var.getName());
assertEquals(2, var.getOutComes().size());
assertEquals(var.getOutComes(), Arrays.asList(new String[] { "false", "true" }));
assertEquals("position = (0,10)", var.getProperties().get(0));
var = varMap.get("Cloudy");
assertEquals("Cloudy", var.getName());
assertEquals(2, var.getOutComes().size());
assertEquals(var.getOutComes(), Arrays.asList(new String[] { "false", "true" }));
assertEquals("position = (0,-10)", var.getProperties().get(0));
var = varMap.get("Sprinkler");
assertEquals("Sprinkler", var.getName());
assertEquals(2, var.getOutComes().size());
assertEquals(var.getOutComes(), Arrays.asList(new String[] { "false", "true" }));
assertEquals("position = (13,0)", var.getProperties().get(0));
var = varMap.get("Rain");
assertEquals("Rain", var.getName());
assertEquals(2, var.getOutComes().size());
assertEquals(var.getOutComes(), Arrays.asList(new String[] { "false", "true" }));
assertEquals("position = (-12,0)", var.getProperties().get(0));
Map<String, Definition> defMap = defToMap(network.getDefinitions());
assertEquals(4, defMap.size());
Definition def = defMap.get("WetGrass");
assertEquals("WetGrass", def.getName());
assertEquals(2, def.getGiven().size());
assertEquals(def.getGiven(), Arrays.asList(new String[] { "Sprinkler", "Rain" }));
assertEquals("1.0 0.0 0.1 0.9 0.1 0.9 0.01 0.99", def.getProbabilities());
def = defMap.get("Cloudy");
assertEquals("Cloudy", def.getName());
assertNull(def.getGiven());
assertEquals("0.5 0.5", def.getProbabilities().trim());
def = defMap.get("Sprinkler");
assertEquals("Sprinkler", def.getName());
assertEquals(1, def.getGiven().size());
assertEquals("Cloudy", def.getGiven().get(0));
assertEquals("0.5 0.5 0.9 0.1", def.getProbabilities().trim());
def = defMap.get("Rain");
assertEquals("Rain", def.getName());
assertNull(def.getGiven());
assertEquals("0.5 0.5", def.getProbabilities().trim());
}
Aggregations