[jboss-svn-commits] JBL Code SVN: r16795 - in labs/jbossrules/trunk/drools-analytics/src: test/java/org/drools/analytics/redundancy and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Nov 25 07:36:54 EST 2007
Author: Rikkola
Date: 2007-11-25 07:36:53 -0500 (Sun, 25 Nov 2007)
New Revision: 16795
Modified:
labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl
labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTest.java
labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/PatternRedundancyTest.drl
Log:
Fixed some old redundancy unit tests that had bugs.
Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl 2007-11-25 12:28:20 UTC (rev 16794)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Patterns.drl 2007-11-25 12:36:53 UTC (rev 16795)
@@ -8,7 +8,7 @@
# Only checks for redundant pattern specifications,
# does not include actual restriction checks.
#
-rule "Find redundant Pattern shells"
+rule "Find redundant Patterns with restrictions"
when
# Check that Patterns $left and $right have redundant fields.
$left :Pattern()
@@ -25,6 +25,7 @@
# Has possibilities, if the there is no possibilities,
# then the Redundancy type is STRONG.
+ # Because these patterns have no restrictions.
exists PatternPossibility( patternId == $left.id )
exists PatternPossibility( patternId == $right.id )
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 12:28:20 UTC (rev 16794)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/redundancy/RedundancyTest.java 2007-11-25 12:36:53 UTC (rev 16795)
@@ -252,16 +252,18 @@
* if (!map.isEmpty()) { fail("More redundancies than was expected."); } }
*/
- public void fixmetestPatternRedundancy() throws Exception {
+ public void testPatternRedundancyWithRestrictions() throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Patterns.drl"));
session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
- "Find redundant Pattern shells"));
+ "Find redundant Patterns with restrictions"));
+ AnalyticsDataFactory.clearAnalyticsData();
Collection<? extends Object> data = getTestData(this.getClass()
.getResourceAsStream("PatternRedundancyTest.drl"));
+ AnalyticsDataFactory.clearAnalyticsResult();
AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
session.setGlobal("result", result);
@@ -270,28 +272,86 @@
Map<String, Set<String>> map = createRedundancyMap(sessionResult
.iterateObjects());
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 1a",
- "Pattern redundancy 1b"));
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 1b",
- "Pattern redundancy 1a"));
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 2a",
- "Pattern redundancy 2b"));
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 2b",
- "Pattern redundancy 2a"));
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 3a",
- "Pattern redundancy 3b"));
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 3b",
- "Pattern redundancy 3a"));
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 4a",
- "Pattern redundancy 4b"));
- assertTrue(TestBase.mapContains(map, "Pattern redundancy 4b",
- "Pattern redundancy 4a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 1a",
+ "Pattern redundancy with restrictions 1b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 1b",
+ "Pattern redundancy with restrictions 1a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 2a",
+ "Pattern redundancy with restrictions 2b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 2b",
+ "Pattern redundancy with restrictions 2a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 3a",
+ "Pattern redundancy with restrictions 3b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 3b",
+ "Pattern redundancy with restrictions 3a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 4a",
+ "Pattern redundancy with restrictions 4b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy with restrictions 4b",
+ "Pattern redundancy with restrictions 4a"));
if (!map.isEmpty()) {
fail("More redundancies than was expected.");
}
}
+ public void testPatternRedundancyWithoutRestrictions() throws Exception {
+ StatelessSession session = getStatelessSession(this.getClass()
+ .getResourceAsStream("Patterns.drl"));
+
+ session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+ "Find redundant Patterns without restrictions"));
+
+ AnalyticsDataFactory.clearAnalyticsData();
+ Collection<? extends Object> data = getTestData(this.getClass()
+ .getResourceAsStream("PatternRedundancyTest.drl"));
+
+ AnalyticsDataFactory.clearAnalyticsResult();
+ AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+ session.setGlobal("result", result);
+
+ StatelessSessionResult sessionResult = session.executeWithResults(data);
+
+ Map<String, Set<String>> map = createRedundancyMap(sessionResult
+ .iterateObjects());
+
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 1a",
+ "Pattern redundancy without restrictions 1b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 1b",
+ "Pattern redundancy without restrictions 1a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 2a",
+ "Pattern redundancy without restrictions 2b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 2b",
+ "Pattern redundancy without restrictions 2a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 3a",
+ "Pattern redundancy without restrictions 3b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 3b",
+ "Pattern redundancy without restrictions 3a"));
+ assertTrue(TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 4a",
+ "Pattern redundancy without restrictions 4b")
+ ^ TestBase.mapContains(map,
+ "Pattern redundancy without restrictions 4b",
+ "Pattern redundancy without restrictions 4a"));
+
+ if (!map.isEmpty()) {
+ fail("More redundancies than was expected.");
+ }
+ }
+
public void testAnalyticsLiteralRestrictionRedundancy() throws Exception {
StatelessSession session = getStatelessSession(this.getClass()
.getResourceAsStream("Restrictions.drl"));
Modified: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/PatternRedundancyTest.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/PatternRedundancyTest.drl 2007-11-25 12:28:20 UTC (rev 16794)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/redundancy/PatternRedundancyTest.drl 2007-11-25 12:36:53 UTC (rev 16795)
@@ -2,58 +2,118 @@
import com.sample.DroolsTest.Message;
-rule "Pattern redundancy 1a"
+rule "Pattern redundancy without restrictions 1a"
when
Foo1()
then
System.out.println( "Test" );
end
-rule "Pattern redundancy 1b"
+rule "Pattern redundancy without restrictions 1b"
when
Foo1()
then
System.out.println( "Test" );
end
-rule "Pattern redundancy 2a"
+rule "Pattern redundancy without restrictions 2a"
when
not Foo2()
then
System.out.println( "Test" );
end
-rule "Pattern redundancy 2b"
+rule "Pattern redundancy without restrictions 2b"
when
not Foo2()
then
System.out.println( "Test" );
end
-rule "Pattern redundancy 3a"
+rule "Pattern redundancy without restrictions 3a"
when
exists Foo3()
then
System.out.println( "Test" );
end
-rule "Pattern redundancy 3b"
+rule "Pattern redundancy without restrictions 3b"
when
exists Foo3()
then
System.out.println( "Test" );
end
-rule "Pattern redundancy 4a"
+rule "Pattern redundancy without restrictions 4a"
when
forall( Foo4() )
then
System.out.println( "Test" );
end
-rule "Pattern redundancy 4b"
+rule "Pattern redundancy without restrictions 4b"
when
forall( Foo4() )
then
System.out.println( "Test" );
end
+
+#
+# With restrictions.
+#
+
+rule "Pattern redundancy with restrictions 1a"
+ when
+ Foo1( a == "b" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Pattern redundancy with restrictions 1b"
+ when
+ Foo1( a == "b" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Pattern redundancy with restrictions 2a"
+ when
+ not Foo2( a == "b" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Pattern redundancy with restrictions 2b"
+ when
+ not Foo2( a == "b" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Pattern redundancy with restrictions 3a"
+ when
+ exists Foo3( a == "b" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Pattern redundancy with restrictions 3b"
+ when
+ exists Foo3( a == "b" )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Pattern redundancy with restrictions 4a"
+ when
+ forall( Foo4( a == "b" ) )
+ then
+ System.out.println( "Test" );
+end
+
+rule "Pattern redundancy with restrictions 4b"
+ when
+ forall( Foo4( a == "b" ) )
+ then
+ System.out.println( "Test" );
+end
More information about the jboss-svn-commits
mailing list