[jboss-svn-commits] JBL Code SVN: r16789 - in labs/jbossrules/trunk/drools-analytics/src: main/java/org/drools/analytics/components and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Nov 25 04:59:53 EST 2007
Author: Rikkola
Date: 2007-11-25 04:59:53 -0500 (Sun, 25 Nov 2007)
New Revision: 16789
Added:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consequence.java
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/RedundancyLiteralRestrictionTest.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/SubsumptionVariableRestrictionTest.drl
Removed:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consquence.java
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/RedundancyLiteralRestrictionTest.drl
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/SubsumptionVariableRestrictionTest.drl
Modified:
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsData.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataMaps.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java
labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTest.java
Log:
Redundancy test rules for pattern possibilities and redundant patterns.
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/PackageDescrFlattener.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -15,7 +15,7 @@
import org.drools.analytics.components.AnalyticsMethodAccessDescr;
import org.drools.analytics.components.AnalyticsPredicateDescr;
import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.Consquence;
+import org.drools.analytics.components.Consequence;
import org.drools.analytics.components.Constraint;
import org.drools.analytics.components.Field;
import org.drools.analytics.components.LiteralRestriction;
@@ -400,7 +400,7 @@
* Consequence object.
* @return Analytics object that implements the Consequence interface.
*/
- private Consquence flattenConsequence(AnalyticsComponent parent, Object o) {
+ private Consequence flattenConsequence(AnalyticsComponent parent, Object o) {
AnalyticsData data = AnalyticsDataFactory.getAnalyticsData();
TextConsequence consequence = new TextConsequence();
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/AnalyticsRule.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -12,7 +12,7 @@
private String ruleSalience;
private String ruleAgendaGroup;
- private Consquence consequence;
+ private Consequence consequence;
private int lineNumber;
private int packageId;
@@ -47,11 +47,11 @@
this.ruleSalience = salience;
}
- public Consquence getConsequence() {
+ public Consequence getConsequence() {
return consequence;
}
- public void setConsequence(Consquence consequence) {
+ public void setConsequence(Consequence consequence) {
this.consequence = consequence;
}
Copied: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consequence.java (from rev 16750, labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consquence.java)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consequence.java (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consequence.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -0,0 +1,17 @@
+package org.drools.analytics.components;
+
+public interface Consequence {
+
+ public static enum ConsequenceType {
+ TEXT
+ }
+
+ public int getId();
+
+ public ConsequenceType getConsequenceType();
+
+ public int getRuleId();
+
+ public String getRuleName();
+
+}
Deleted: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consquence.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consquence.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/Consquence.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -1,17 +0,0 @@
-package org.drools.analytics.components;
-
-public interface Consquence {
-
- public static enum ConsequenceType {
- TEXT
- }
-
- public int getId();
-
- public ConsequenceType getConsequenceType();
-
- public int getRuleId();
-
- public String getRuleName();
-
-}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/PatternPossibility.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -32,7 +32,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.POSSIBILITY;
+ return Cause.CauseType.PATTERN_POSSIBILITY;
}
public Set<Cause> getItems() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/RulePossibility.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -32,7 +32,7 @@
}
public CauseType getCauseType() {
- return Cause.CauseType.POSSIBILITY;
+ return Cause.CauseType.RULE_POSSIBILITY;
}
public Set<Cause> getItems() {
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/components/TextConsequence.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -1,6 +1,6 @@
package org.drools.analytics.components;
-public class TextConsequence extends AnalyticsComponent implements Consquence {
+public class TextConsequence extends AnalyticsComponent implements Consequence {
private static int index = 0;
private String text;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsData.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsData.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsData.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -6,7 +6,7 @@
import org.drools.analytics.components.AnalyticsEvalDescr;
import org.drools.analytics.components.AnalyticsPredicateDescr;
import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.Consquence;
+import org.drools.analytics.components.Consequence;
import org.drools.analytics.components.Constraint;
import org.drools.analytics.components.Field;
import org.drools.analytics.components.FieldClassLink;
@@ -24,7 +24,7 @@
*/
public interface AnalyticsData {
- public void save(Consquence consequence);
+ public void save(Consequence consequence);
public void save(AnalyticsClass clazz);
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataMaps.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataMaps.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/dao/AnalyticsDataMaps.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -12,7 +12,7 @@
import org.drools.analytics.components.AnalyticsEvalDescr;
import org.drools.analytics.components.AnalyticsPredicateDescr;
import org.drools.analytics.components.AnalyticsRule;
-import org.drools.analytics.components.Consquence;
+import org.drools.analytics.components.Consequence;
import org.drools.analytics.components.Constraint;
import org.drools.analytics.components.Field;
import org.drools.analytics.components.FieldClassLink;
@@ -50,7 +50,7 @@
private Map<Integer, OperatorDescr> operatorsById = new TreeMap<Integer, OperatorDescr>();
private Map<Integer, AnalyticsEvalDescr> evalsById = new TreeMap<Integer, AnalyticsEvalDescr>();
private Map<Integer, AnalyticsPredicateDescr> predicatesById = new TreeMap<Integer, AnalyticsPredicateDescr>();
- private Map<Integer, Consquence> consiquencesById = new TreeMap<Integer, Consquence>();
+ private Map<Integer, Consequence> consiquencesById = new TreeMap<Integer, Consequence>();
private Map<String, Variable> variablesByRuleAndVariableName = new TreeMap<String, Variable>();
@@ -235,7 +235,7 @@
predicatesById.put(predicate.getId(), predicate);
}
- public void save(Consquence consequence) {
+ public void save(Consequence consequence) {
consiquencesById.put(consequence.getId(), consequence);
}
}
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Cause.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -11,7 +11,8 @@
GAP,
PATTERN,
RESTRICTION,
- POSSIBILITY,
+ PATTERN_POSSIBILITY,
+ RULE_POSSIBILITY,
RANGE_CHECK_CAUSE,
REDUNDANCY,
EVAL,
Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/Redundancy.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -18,8 +18,8 @@
private static int index = 0;
private int id = index++;
- private RedundancyType type = RedundancyType.WEAK; // By default the
- // redundancy is weak.
+ // By default the redundancy is weak.
+ private RedundancyType type = RedundancyType.WEAK;
private Cause left;
private Cause right;
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl 2007-11-25 09:59:53 UTC (rev 16789)
@@ -11,17 +11,22 @@
import java.util.ArrayList;
import org.drools.analytics.components.PatternPossibility;
+import org.drools.analytics.components.RulePossibility;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.Redundancy;
import org.drools.analytics.report.components.AnalyticsMessage;
import org.drools.analytics.report.components.Cause;
+import org.drools.analytics.report.components.Cause.CauseType;
rule "Find redundant restrictions from pattern possibilities"
salience -100
when
- $r :Redundancy()
+ $r :Redundancy(
+ left.causeType == Cause.CauseType.RESTRICTION
+ )
+
PatternPossibility(
items contains $r.left,
items contains $r.right
@@ -36,3 +41,24 @@
$r, "Same restriction exists twice.", causes ) );
end
+rule "Find redundant pattern possibilities from rule possibilities"
+ salience -100
+ when
+ $r :Redundancy(
+ left.causeType == Cause.CauseType.PATTERN_POSSIBILITY
+ )
+
+ RulePossibility(
+ items contains $r.left,
+ items contains $r.right
+ )
+ then
+ Collection<Cause> causes = new ArrayList<Cause>();
+ causes.add( $r.getLeft() );
+ causes.add( $r.getRight() );
+
+ result.save(new AnalyticsMessage(
+ AnalyticsMessage.Severity.NOTE, AnalyticsMessage.MessageType.REDUNDANCY,
+ $r, "Two pattern possibilities with redundant restrictions exists twice in the same rule.", causes ) );
+end
+
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Possibilities.drl 2007-11-25 09:59:53 UTC (rev 16789)
@@ -11,48 +11,69 @@
import java.util.ArrayList;
-rule "Find part of redundant PatternPossibility combination"
+#
+# Fires when two PatternPossibilities are redundant.
+# Marks these possibilities as redundant.
+#
+# Example 1: Pattern1( a == b) and Pattern1( a == b)
+# Example 2: Pattern1( a == b || a == c) and Pattern1( a == b)
+rule "Find pattern possibility redundancy"
when
- $patternRedundancy :Redundancy(
+ $ppr :Redundancy(
type == Redundancy.RedundancyType.WEAK,
- causeType == Cause.CauseType.PATTERN
+ left.causeType == Cause.CauseType.PATTERN
)
+
+ # Find two PatternPossibilities.
+ $pp1 :PatternPossibility(
+ eval( id == $ppr.getLeft().getId() )
+ )
+
+ $pp2 :PatternPossibility(
+ eval( id == $ppr.getRight().getId() )
+ )
- $r1 :Restriction( eval( patternId == $patternRedundancy.getLeft().getId() ) )
- $r2 :Restriction( eval( patternId == $patternRedundancy.getRight().getId() ) )
-
- $restrictionRedundancy :Redundancy(
- (
- left == $r1
+ # For every restriction in $pp1 there is a redundancy to $pp2.
+ forall(
+ $r :Restriction(
+ patternId == $pp1.patternId,
+ this memberOf $pp1.items
+ )
+
+ Redundancy(
+ (
+ left == $r
&&
- right == $r2
- ) || (
- left == $r2
+ right memberOf $pp2.items
+ ) || (
+ left memberOf $pp2.items
&&
- right == $r1
+ right == $r
+ )
)
)
- # Find two PatternPossibilities.
- $pp1 :PatternPossibility(
- eval( patternId == $patternRedundancy.getLeft().getId() ),
- items contains $r1
+ # For every restriction in $pp2 there is a redundancy to $pp1.
+ forall(
+ $r :Restriction(
+ patternId == $pp2.patternId,
+ this memberOf $pp2.items
+ )
+
+ Redundancy(
+ (
+ left == $r
+ &&
+ right memberOf $pp1.items
+ ) || (
+ left memberOf $pp1.items
+ &&
+ right == $r
+ )
+ )
)
- $pp2 :PatternPossibility(
- eval( patternId == $patternRedundancy.getRight().getId() ),
- items contains $r2
- )
-
- not PartialRedundancy(
- left == $pp1,
- right == $pp2
- )
- not PartialRedundancy(
- left == $pp2,
- right == $pp1
- )
then
- insert( new PartialRedundancy( $pp1, $pp2, $restrictionRedundancy ) );
+ insert( new Redundancy( Redundancy.RedundancyType.STRONG, $pp1, $pp2 ) );
end
/*
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Restrictions.drl 2007-11-25 09:59:53 UTC (rev 16789)
@@ -23,14 +23,6 @@
left == $right,
right == $left
)
-
- # Check that these two variables point to the same object.
- #$v :Variable( id == $left.variableId )
- #Variable(
- # id == $right.variableId,
- # objectType == $v.objectType,
- # objectId == $v.objectId
- #)
then
insert( new Redundancy( Redundancy.RedundancyType.STRONG, $left, $right ) );
end
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/NotesTest.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -7,6 +7,7 @@
import org.drools.analytics.TestBase;
import org.drools.analytics.components.LiteralRestriction;
import org.drools.analytics.components.PatternPossibility;
+import org.drools.analytics.components.RulePossibility;
import org.drools.analytics.dao.AnalyticsDataFactory;
import org.drools.analytics.dao.AnalyticsResult;
import org.drools.analytics.report.components.AnalyticsMessage;
@@ -56,4 +57,46 @@
AnalyticsMessageBase note = notes.iterator().next();
assertTrue(note.getFaulty().equals(redundancy));
}
+
+ public void testRedundantPatternPossibilitiesInRulePossibilities()
+ throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Notes.drl"));
+
+ session
+ .setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant pattern possibilities from rule possibilities"));
+
+ Collection<Object> objects = new ArrayList<Object>();
+ PatternPossibility left = new PatternPossibility();
+
+ PatternPossibility right = new PatternPossibility();
+
+ Redundancy redundancy = new Redundancy(
+ Redundancy.RedundancyType.STRONG, left, right);
+
+ RulePossibility possibility = new RulePossibility();
+ possibility.add(left);
+ possibility.add(right);
+
+ objects.add(left);
+ objects.add(right);
+ objects.add(redundancy);
+ objects.add(possibility);
+
+ AnalyticsDataFactory.clearAnalyticsResult();
+ AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ session.setGlobal("result", result);
+
+ session.executeWithResults(objects);
+
+ Collection<AnalyticsMessageBase> notes = result
+ .getBySeverity(AnalyticsMessage.Severity.NOTE);
+
+ // Has at least one item.
+ assertEquals(1, notes.size());
+
+ AnalyticsMessageBase note = notes.iterator().next();
+ assertTrue(note.getFaulty().equals(redundancy));
+ }
}
Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTest.java 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTest.java 2007-11-25 09:59:53 UTC (rev 16789)
@@ -156,15 +156,17 @@
}
}
- public void fixmetestPartOfPatternPossibilityRedundancy() throws Exception {
+ public void testPatternPossibilityRedundancy() throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Possibilities.drl"));
+ AnalyticsDataFactory.clearAnalyticsData();
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find part of redundant PatternPossibility combination"));
+ "Find pattern possibility redundancy"));
Collection<Object> data = new ArrayList<Object>();
+ AnalyticsDataFactory.clearAnalyticsResult();
AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
@@ -205,31 +207,12 @@
StatelessSessionResult sessionResult = session.executeWithResults(data);
- Map<String, Set<Redundancy>> map = new HashMap<String, Set<Redundancy>>();
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
- Iterator<Object> iter = sessionResult.iterateObjects();
- while (iter.hasNext()) {
- Object o = (Object) iter.next();
- if (o instanceof PartialRedundancy) {
- PartialRedundancy pr = (PartialRedundancy) o;
- AnalyticsComponent left = (AnalyticsComponent) pr.getLeft();
- AnalyticsComponent right = (AnalyticsComponent) pr.getRight();
+ assertTrue(TestBase.mapContains(map, ruleName1, ruleName2)
+ ^ TestBase.mapContains(map, ruleName2, ruleName1));
- String key = left.getRuleName() + ":" + right.getRuleName();
- if (map.containsKey(key)) {
- Set<Redundancy> set = map.get(key);
- set.add(pr.getRedundancy());
- } else {
- Set<Redundancy> set = new HashSet<Redundancy>();
- set.add(pr.getRedundancy());
- map.put(key, set);
- }
- }
- }
-
- assertTrue(RedundancyTest.mapContains(map, ruleName1 + ":" + ruleName2,
- r1));
-
if (!map.isEmpty()) {
fail("More redundancies than was expected.");
}
@@ -309,17 +292,18 @@
}
}
- public void fixmetestAnalyticsLiteralRestrictionRedundancy()
- throws Exception {
+ public void testAnalyticsLiteralRestrictionRedundancy() throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Restrictions.drl"));
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant LiteralRestriction"));
+ AnalyticsDataFactory.clearAnalyticsData();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("RedundancyLiteralRestrictionTest.drl"));
+ AnalyticsDataFactory.clearAnalyticsResult();
AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
@@ -346,17 +330,18 @@
}
}
- public void fixmetestAnalyticsVariableRestrictionRedundancy()
- throws Exception {
+ public void testAnalyticsVariableRestrictionRedundancy() throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Restrictions.drl"));
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
"Find redundant VariableRestriction"));
+ AnalyticsDataFactory.clearAnalyticsData();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("SubsumptionVariableRestrictionTest.drl"));
+ AnalyticsDataFactory.clearAnalyticsResult();
AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
@@ -365,8 +350,8 @@
Map<String, Set<String>> map = createRedundancyMap(sessionResult
.iterateObjects());
- assertTrue(TestBase.mapContains(map, "Redundant 1a", "Redundant 1b"));
- assertTrue(TestBase.mapContains(map, "Redundant 1b", "Redundant 1a"));
+ assertTrue(TestBase.mapContains(map, "Redundant 1a", "Redundant 1b")
+ ^ TestBase.mapContains(map, "Redundant 1b", "Redundant 1a"));
assertTrue(TestBase.mapContains(map, "Redundant 2a", "Redundant 2a"));
if (!map.isEmpty()) {
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/RedundancyLiteralRestrictionTest.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/RedundancyLiteralRestrictionTest.drl 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/RedundancyLiteralRestrictionTest.drl 2007-11-25 09:59:53 UTC (rev 16789)
@@ -1,87 +0,0 @@
-package com.sample
-
-import com.sample.DroolsTest.Message;
-
-rule "Redundant 1a"
- when
- Foo1( bar == "baz" )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 1b"
- when
- Foo1( bar == "baz" )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 2a"
- when
- Foo2( bar == 123 )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 2b"
- when
- Foo2( bar == 123 )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 3a"
- when
- Foo3( bar == "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 3b"
- when
- Foo3( bar == "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 4a"
- when
- Foo4( bar != "baz" )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 4b"
- when
- Foo4( bar != "baz" )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 5a"
- when
- Foo5( bar > 123 )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 5b"
- when
- Foo5( bar > 123 )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 6a"
- when
- Foo6( bar < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 6b"
- when
- Foo6( bar < "27-Oct-2007" )
- then
- System.out.println( "Test" );
-end
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/SubsumptionVariableRestrictionTest.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/SubsumptionVariableRestrictionTest.drl 2007-11-25 06:20:56 UTC (rev 16788)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/SubsumptionVariableRestrictionTest.drl 2007-11-25 09:59:53 UTC (rev 16789)
@@ -1,37 +0,0 @@
-package com.sample
-
-import com.sample.DroolsTest.Message;
-
-rule "Redundant 1a"
- when
- $f :Foo1()
- Bar1( foo == $f )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 1b"
- when
- $f :Foo1()
- Bar1( foo == $f )
- then
- System.out.println( "Test" );
-end
-
-rule "Redundant 2a"
- when
- $f :Foo2()
- Bar2( foo == $f && xyz == 123 )
- or
- Bar2( foo == $f && xyz == 321 )
- then
- System.out.println( "Test" );
-end
-
-rule "Not Redundant 1a"
- when
- $f :Foo1a()
- Bar1a( foo == $f && xyz == 123 )
- then
- System.out.println( "Test" );
-end
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/RedundancyLiteralRestrictionTest.drl (from rev 16750, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/RedundancyLiteralRestrictionTest.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/RedundancyLiteralRestrictionTest.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/RedundancyLiteralRestrictionTest.drl 2007-11-25 09:59:53 UTC (rev 16789)
@@ -0,0 +1,87 @@
+package com.sample
+
+import com.sample.DroolsTest.Message;
+
+rule "Redundant 1a"
+ when
+ Foo1( bar == "baz" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 1b"
+ when
+ Foo1( bar == "baz" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 2a"
+ when
+ Foo2( bar == 123 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 2b"
+ when
+ Foo2( bar == 123 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 3a"
+ when
+ Foo3( bar == "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 3b"
+ when
+ Foo3( bar == "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 4a"
+ when
+ Foo4( bar != "baz" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 4b"
+ when
+ Foo4( bar != "baz" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 5a"
+ when
+ Foo5( bar > 123 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 5b"
+ when
+ Foo5( bar > 123 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 6a"
+ when
+ Foo6( bar < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 6b"
+ when
+ Foo6( bar < "27-Oct-2007" )
+ then
+ System.out.println( "Test" );
+end
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/SubsumptionVariableRestrictionTest.drl (from rev 16750, labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/SubsumptionVariableRestrictionTest.drl)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/SubsumptionVariableRestrictionTest.drl (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/SubsumptionVariableRestrictionTest.drl 2007-11-25 09:59:53 UTC (rev 16789)
@@ -0,0 +1,37 @@
+package com.sample
+
+import com.sample.DroolsTest.Message;
+
+rule "Redundant 1a"
+ when
+ $f :Foo1()
+ Bar1( foo == $f )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 1b"
+ when
+ $f :Foo1()
+ Bar1( foo == $f )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Redundant 2a"
+ when
+ $f :Foo2()
+ Bar2( foo == $f && xyz == 123 )
+ or
+ Bar2( foo == $f && xyz == 321 )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Not Redundant 1a"
+ when
+ $f :Foo1a()
+ Bar1a( foo == $f && xyz == 123 )
+ then
+ System.out.println( "Test" );
+end
More information about the jboss-svn-commits
mailing list