package org.drools.chance.kbase.usecases; import org.drools.chance.Chance; import org.drools.chance.common.ChanceStrategyFactory; import org.drools.chance.rule.constraint.core.connectives.factories.fuzzy.linguistic.FuzzyConnectiveFactory; import org.drools.chance.kbase.AbstractChanceTest; import org.drools.factmodel.traits.TraitFactory; import org.drools.runtime.StatefulKnowledgeSession; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import java.util.Map; import static junit.framework.Assert.*; public class FuzzyControllerTest extends AbstractChanceTest { private StatefulKnowledgeSession kSession; @BeforeClass public static void setFactories() { Chance.initialize(); ChanceStrategyFactory.setDefaultFactory( new FuzzyConnectiveFactory() ); } @Test public void testFuzzyExample1() throws InterruptedException { StatefulKnowledgeSession kSession = initBasicChanceTest( "org/drools/chance/fuzzy/basicFuzzyControllerTest.drl" ); Map map = (Map) kSession.getGlobal( MAP ); Thread.sleep( 5000 ); System.err.println( map ); assertEquals( 3, map.size() ); for ( Object o : map.keySet() ) { assertTrue( o instanceof Double ); long k = Math.round( (Double) o ); assertTrue( k == 230 || k == 279 || k == 315 ); } } }