private RuleImpl createRule( final ConditionalElementDescr ceDescr, final KnowledgeBuilderImpl builder, final String consequence ) throws Exception { final PackageDescr packageDescr = new PackageDescr( "p1" ); final RuleDescr ruleDescr = new RuleDescr( "rule-1" ); packageDescr.addRule( ruleDescr ); final AndDescr lhs = new AndDescr(); ruleDescr.setLhs( lhs ); lhs.addDescr( (BaseDescr) ceDescr ); final PatternDescr patternDescr = new PatternDescr( Cheese.class.getName(), "stilton" ); patternDescr.addConstraint( new ExprConstraintDescr( "type == \"stilton\" ") ); ceDescr.addDescr( patternDescr ); ruleDescr.setConsequence( consequence ); builder.addPackage( packageDescr ); InternalKnowledgePackage pkg = builder.getPackage(packageDescr.getName()); final RuleImpl rule = pkg.getRule( "rule-1" ); assertEquals( "rule-1", rule.getName() ); return rule; }