[jboss-svn-commits] JBL Code SVN: r32327 - in labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools: factconstraint and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 31 12:46:59 EDT 2010
Author: baunax
Date: 2010-03-31 12:46:58 -0400 (Wed, 31 Mar 2010)
New Revision: 32327
Added:
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/client/
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/client/helper/
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/client/helper/ConstraintsConstrainerTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/IntegerConstraintTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotMatchesConstraintTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotNullConstraintTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintMultipleOperatorsTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintSingleOperatorTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintTest.java
Removed:
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintMultipleOperatorsTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintSingleOperatorTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java
labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/
Log:
moved tests to match classes locations
Deleted: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java 2010-03-31 16:45:01 UTC (rev 32326)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -1,159 +0,0 @@
-package org.drools.factconstraint;
-
-import java.util.Collection;
-
-import org.drools.builder.ResourceType;
-import org.drools.factconstraint.server.Constraint;
-import org.drools.factconstraints.client.ConstraintConfiguration;
-import org.drools.factconstraints.client.ValidationResult;
-import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
-import org.drools.factconstraints.server.predefined.IntegerConstraint;
-import org.drools.io.ResourceFactory;
-import org.drools.verifier.Verifier;
-import org.drools.verifier.VerifierConfiguration;
-import org.drools.verifier.VerifierConfigurationImpl;
-import org.drools.verifier.VerifierError;
-import org.drools.verifier.builder.VerifierBuilder;
-import org.drools.verifier.builder.VerifierBuilderFactory;
-import org.drools.verifier.data.VerifierReport;
-import org.drools.verifier.report.components.Severity;
-import org.drools.verifier.report.components.VerifierMessageBase;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public class IntegerConstraintTest {
-
- private ConstraintConfiguration conf;
-
- @Before
- public void setup() {
- conf = new SimpleConstraintConfigurationImpl();
- conf.setFactType("Person");
- conf.setFieldName("age");
- }
-
- @Test
- public void testValidConstraint() {
- Constraint cons = new IntegerConstraint();
-
- ValidationResult result = cons.validate(12, conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate(new Integer("12"), conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate("12", conf);
- Assert.assertTrue(result.isSuccess());
-
- }
-
- @Test
- public void testInvalidConstraint() {
- Constraint cons = new IntegerConstraint();
-
- ValidationResult result = cons.validate(new Object(), conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: " + result.getMessage());
-
- result = cons.validate("", conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: " + result.getMessage());
-
- result = cons.validate("ABC", conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: " + result.getMessage());
-
- result = cons.validate(null, conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: " + result.getMessage());
-
- result = cons.validate(new Long("12"), conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: " + result.getMessage());
-
- result = cons.validate(12L, conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: " + result.getMessage());
-
- result = cons.validate(12.8, conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: " + result.getMessage());
- }
-
- @Test
- public void testUsingVerifier() {
-
- String ruleToVerify = "";
-
- //FAIL
- ruleToVerify += "package org.drools.factconstraint.test\n\n";
- ruleToVerify += "import org.drools.factconstraint.model.*\n";
- ruleToVerify += "rule \"rule1\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 'abc')\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n\n";
-
- //OK
- ruleToVerify += "rule \"rule2\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 12)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n\n";
-
- //FAIL
- ruleToVerify += "rule \"rule3\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == '')\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
-
-
- VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
-
- //VerifierConfiguration conf = new DefaultVerifierConfiguration();
- VerifierConfiguration vconf = new VerifierConfigurationImpl();
-
- Constraint cons = new IntegerConstraint();
- vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(conf).getBytes()), ResourceType.DRL);
-
- Verifier verifier = vBuilder.newVerifier(vconf);
-
- verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
- ResourceType.DRL);
-
- if (verifier.hasErrors()) {
- for (VerifierError error : verifier.getErrors()) {
- System.out.println(error.getMessage());
- }
- throw new RuntimeException("Error building verifier");
- }
-
- Assert.assertFalse(verifier.hasErrors());
-
- boolean noProblems = verifier.fireAnalysis();
- Assert.assertTrue(noProblems);
-
- VerifierReport result = verifier.getResult();
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
-
- int counter = 0;
- for (VerifierMessageBase message : warnings) {
- System.out.println(message);
- counter++;
- }
-
- Assert.assertEquals(2, counter);
-
- verifier.dispose();
- }
-}
Deleted: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java 2010-03-31 16:45:01 UTC (rev 32326)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -1,145 +0,0 @@
-package org.drools.factconstraint;
-
-import java.util.Collection;
-
-import org.drools.builder.ResourceType;
-import org.drools.factconstraint.server.Constraint;
-import org.drools.factconstraints.client.ConstraintConfiguration;
-import org.drools.factconstraints.client.ValidationResult;
-import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
-import org.drools.factconstraints.server.predefined.NotNullConstraint;
-import org.drools.io.ResourceFactory;
-import org.drools.verifier.Verifier;
-import org.drools.verifier.VerifierConfiguration;
-import org.drools.verifier.VerifierConfigurationImpl;
-import org.drools.verifier.VerifierError;
-import org.drools.verifier.builder.VerifierBuilder;
-import org.drools.verifier.builder.VerifierBuilderFactory;
-import org.drools.verifier.data.VerifierReport;
-import org.drools.verifier.report.components.Severity;
-import org.drools.verifier.report.components.VerifierMessageBase;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public class NotNullConstraintTest {
-
- private ConstraintConfiguration conf;
- private Constraint cons;
-
- @Before
- public void setup() {
- conf = new SimpleConstraintConfigurationImpl();
- conf.setFactType("Person");
- conf.setFieldName("name");
-
- cons = new NotNullConstraint();
- }
-
- @Test
- public void testValidConstraint(){
-
- ValidationResult result = cons.validate(new Object(), conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate("", conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate("ABC", conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate(new Long("12"), conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate(12L, conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate(12.8, conf);
- Assert.assertTrue(result.isSuccess());
- }
-
- @Test
- public void testInvalidConstraint(){
-
- ValidationResult result = cons.validate(null, conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
- }
-
- @Test
- public void testUsingVerifier() {
-
- String ruleToVerify = "";
-
- //OK
- ruleToVerify += "package org.drools.factconstraint.test\n\n";
- ruleToVerify += "import org.drools.factconstraint.model.*\n";
- ruleToVerify += "rule \"rule1\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(name == 'John McClane')\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n\n";
-
- //FAIL
- ruleToVerify += "rule \"rule2\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(name == null)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n\n";
-
- //OK
- ruleToVerify += "rule \"rule3\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(name == '')\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
-
-
- VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
-
- VerifierConfiguration vconf = new VerifierConfigurationImpl();
-
- vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(this.conf).getBytes()), ResourceType.DRL);
-
- Verifier verifier = vBuilder.newVerifier(vconf);
-
- verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
- ResourceType.DRL);
-
- if (verifier.hasErrors()) {
- for (VerifierError error : verifier.getErrors()) {
- System.out.println(error.getMessage());
- }
- throw new RuntimeException("Error building verifier");
- }
-
- Assert.assertFalse(verifier.hasErrors());
-
- boolean noProblems = verifier.fireAnalysis();
- Assert.assertTrue(noProblems);
-
- VerifierReport result = verifier.getResult();
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
-
- int counter = 0;
- for (VerifierMessageBase message : warnings) {
- System.out.println(message);
- counter++;
- }
-
- Assert.assertEquals(1,
- counter);
-
- verifier.dispose();
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintMultipleOperatorsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintMultipleOperatorsTest.java 2010-03-31 16:45:01 UTC (rev 32326)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintMultipleOperatorsTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -1,185 +0,0 @@
-package org.drools.factconstraint;
-
-import java.util.Collection;
-import org.drools.builder.ResourceType;
-import org.drools.factconstraint.server.Constraint;
-import org.drools.factconstraints.client.ConstraintConfiguration;
-import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
-import org.drools.factconstraints.server.predefined.RangeConstraint;
-import org.drools.io.ResourceFactory;
-import org.drools.verifier.Verifier;
-import org.drools.verifier.VerifierConfiguration;
-import org.drools.verifier.VerifierConfigurationImpl;
-import org.drools.verifier.VerifierError;
-import org.drools.verifier.builder.VerifierBuilder;
-import org.drools.verifier.builder.VerifierBuilderFactory;
-import org.drools.verifier.data.VerifierReport;
-import org.drools.verifier.report.components.Severity;
-import org.drools.verifier.report.components.VerifierMessageBase;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public class RangeConstraintMultipleOperatorsTest {
-
- private Verifier verifier;
- private Constraint cons;
- private ConstraintConfiguration conf;
-
- @Before
- public void setup() {
- cons = new RangeConstraint();
- conf = new SimpleConstraintConfigurationImpl();
- conf.setFactType("Person");
- conf.setFieldName("age");
-
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "120");
- //System.out.println("Validation Rule:\n" + cons.getVerifierRule(conf) + "\n\n");
-
- }
-
- @After
- public void dispose() {
- if (verifier != null) {
- verifier.dispose();
- }
- }
-
- @Test
- public void test() {
-
- String rulesToVerify = "";
- int fail = 0;
- int warn = 0;
-
- //OK
- rulesToVerify += "package org.drools.factconstraint.test\n\n";
- rulesToVerify += "import org.drools.factconstraint.model.*\n";
- rulesToVerify += "rule \"rule1\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 1, age < 100)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
-
- //FAIL
- rulesToVerify += "rule \"rule2\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > -1, age < 60)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warn++;
-
- //FAIL
- rulesToVerify += "rule \"rule3\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > -1, age < 150)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warn++;
-
- //FAIL-Impossible
- rulesToVerify += "rule \"rule4\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 150, age < -1)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- fail++;
-
- //FAIL
- rulesToVerify += "rule \"rule5\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > -10, age < -1)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warn++;
-
- //FAIL
- rulesToVerify += "rule \"rule6\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 18, age < 150)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warn++;
-
- //FAIL-Impossible
- rulesToVerify += "rule \"rule7\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 18, age < -1)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- fail++;
-
- //FAIL
- rulesToVerify += "rule \"rule8\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 130, age < 150)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warn++;
-
- //FAIL-Impossible
- rulesToVerify += "rule \"rule9\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 130, age < 18)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- fail++;
-
- VerifierReport result = this.verify(rulesToVerify);
-
- Collection<VerifierMessageBase> errors = result.getBySeverity(Severity.ERROR);
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
-
- System.out.println(warnings);
- System.out.println(errors);
-
- Assert.assertEquals(warn, warnings.size());
- Assert.assertEquals(fail, errors.size());
- }
-
- private VerifierReport verify(String rulesToVerify) {
- VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
-
- //VerifierConfiguration conf = new DefaultVerifierConfiguration();
- VerifierConfiguration conf = new VerifierConfigurationImpl();
-
- conf.getVerifyingResources().put(ResourceFactory.newClassPathResource("RangeConstraintMultiOperator.drl"), ResourceType.DRL);
-
- //conf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule().getBytes()), ResourceType.DRL);
-
- verifier = vBuilder.newVerifier(conf);
-
- verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(rulesToVerify.getBytes()),
- ResourceType.DRL);
-
- if (verifier.hasErrors()) {
- for (VerifierError error : verifier.getErrors()) {
- System.out.println(error.getMessage());
- }
- throw new RuntimeException("Error building verifier");
- }
-
- Assert.assertFalse(verifier.hasErrors());
-
- boolean noProblems = verifier.fireAnalysis();
- Assert.assertTrue(noProblems);
-
- return verifier.getResult();
-
- }
-}
Deleted: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintSingleOperatorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintSingleOperatorTest.java 2010-03-31 16:45:01 UTC (rev 32326)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintSingleOperatorTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -1,349 +0,0 @@
-package org.drools.factconstraint;
-
-import java.util.Collection;
-
-import org.drools.builder.ResourceType;
-import org.drools.factconstraint.server.Constraint;
-import org.drools.factconstraints.client.ConstraintConfiguration;
-import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
-import org.drools.factconstraints.server.predefined.RangeConstraint;
-import org.drools.io.ResourceFactory;
-import org.drools.verifier.Verifier;
-import org.drools.verifier.VerifierConfiguration;
-import org.drools.verifier.VerifierConfigurationImpl;
-import org.drools.verifier.VerifierError;
-import org.drools.verifier.builder.VerifierBuilder;
-import org.drools.verifier.builder.VerifierBuilderFactory;
-import org.drools.verifier.data.VerifierReport;
-import org.drools.verifier.report.components.Severity;
-import org.drools.verifier.report.components.VerifierMessageBase;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public class RangeConstraintSingleOperatorTest {
-
- private Verifier verifier;
- private Constraint cons;
- private ConstraintConfiguration conf;
-
- @Before
- public void setup() {
- cons = new RangeConstraint();
- conf = new SimpleConstraintConfigurationImpl();
- conf.setFactType("Person");
- conf.setFieldName("age");
-
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "120");
- System.out.println("Validation Rule:\n" + cons.getVerifierRule(conf) + "\n\n");
- }
-
- @After
- public void dispose(){
- if (verifier != null){
- verifier.dispose();
- }
- }
-
- @Test
- public void testEq() {
-
- String rulesToVerify = "";
- int fail = 0;
-
- //FAIL
- rulesToVerify += "package org.drools.factconstraint.test\n\n";
- rulesToVerify += "import org.drools.factconstraint.model.*\n";
- rulesToVerify += "rule \"rule1\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age == -5)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- fail++;
-
- //OK
- rulesToVerify += "rule \"rule2\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age == 10)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
-
- //FAIL
- rulesToVerify += "rule \"rule3\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age == 130)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n";
- fail++;
-
- VerifierReport result = this.verify(rulesToVerify);
-
- Collection<VerifierMessageBase> errors = result.getBySeverity(Severity.ERROR);
-
- System.out.println(errors);
-
- Assert.assertEquals(fail, errors.size());
- }
-
- @Test
- public void testNotEq() {
-
- String rulesToVerify = "";
- int warning = 0;
-
- //FAIL
- rulesToVerify += "package org.drools.factconstraint.test\n\n";
- rulesToVerify += "import org.drools.factconstraint.model.*\n";
- rulesToVerify += "rule \"rule1\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age != -5)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //OK
- rulesToVerify += "rule \"rule2\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age != 10)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
-
- //FAIL
- rulesToVerify += "rule \"rule3\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age != 130)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n";
- warning++;
-
- VerifierReport result = this.verify(rulesToVerify);
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
-
- System.out.println(warnings);
-
- Assert.assertEquals(warning, warnings.size());
- }
-
- @Test
- public void testGT() {
-
- String rulesToVerify = "";
- int fail = 0;
- int warning = 0;
-
- //FAIL
- rulesToVerify += "package org.drools.factconstraint.test\n\n";
- rulesToVerify += "import org.drools.factconstraint.model.*\n";
- rulesToVerify += "rule \"rule1\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > -5)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule2\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 10)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule3\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age > 130)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n";
- warning++;
-
- VerifierReport result = this.verify(rulesToVerify);
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
-
- System.out.println(warnings);
-
- Assert.assertEquals(warning, warnings.size());
- }
-
- @Test
- public void testGE() {
-
- String rulesToVerify = "";
- int fail = 0;
- int warning = 0;
-
- //FAIL
- rulesToVerify += "package org.drools.factconstraint.test\n\n";
- rulesToVerify += "import org.drools.factconstraint.model.*\n";
- rulesToVerify += "rule \"rule1\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age >= -5)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule2\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age >= 10)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule3\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age >= 130)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n";
- warning++;
-
- VerifierReport result = this.verify(rulesToVerify);
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
-
- System.out.println(warnings);
-
- Assert.assertEquals(warning, warnings.size());
- }
-
- @Test
- public void testLT() {
-
- String rulesToVerify = "";
- int fail = 0;
- int warning = 0;
-
- //FAIL
- rulesToVerify += "package org.drools.factconstraint.test\n\n";
- rulesToVerify += "import org.drools.factconstraint.model.*\n";
- rulesToVerify += "rule \"rule1\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age < -5)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule2\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age < 10)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule3\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age < 130)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n";
- warning++;
-
- VerifierReport result = this.verify(rulesToVerify);
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
-
- System.out.println(warnings);
-
- Assert.assertEquals(warning, warnings.size());
- }
-
- @Test
- public void testLE() {
-
- String rulesToVerify = "";
- int fail = 0;
- int warning = 0;
-
- //FAIL
- rulesToVerify += "package org.drools.factconstraint.test\n\n";
- rulesToVerify += "import org.drools.factconstraint.model.*\n";
- rulesToVerify += "rule \"rule1\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age <= -5)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule2\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age <= 10)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n\n";
- warning++;
-
- //FAIL
- rulesToVerify += "rule \"rule3\"\n";
- rulesToVerify += " when\n";
- rulesToVerify += " Person(age <= 130)\n";
- rulesToVerify += " then\n";
- rulesToVerify += " System.out.println(\"Rule fired\");\n";
- rulesToVerify += "end\n";
- warning++;
-
- VerifierReport result = this.verify(rulesToVerify);
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
-
- System.out.println(warnings);
-
- Assert.assertEquals(warning, warnings.size());
- }
-
- private VerifierReport verify(String rulesToVerify){
- VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
-
- //VerifierConfiguration conf = new DefaultVerifierConfiguration();
- VerifierConfiguration vconf = new VerifierConfigurationImpl();
-
- vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(this.conf).getBytes()), ResourceType.DRL);
-
- verifier = vBuilder.newVerifier(vconf);
-
- verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(rulesToVerify.getBytes()),
- ResourceType.DRL);
-
- if (verifier.hasErrors()) {
- for (VerifierError error : verifier.getErrors()) {
- System.out.println(error.getMessage());
- }
- throw new RuntimeException("Error building verifier");
- }
-
- Assert.assertFalse(verifier.hasErrors());
-
- boolean noProblems = verifier.fireAnalysis();
- Assert.assertTrue(noProblems);
-
- return verifier.getResult();
-
- }
-
-}
Deleted: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java 2010-03-31 16:45:01 UTC (rev 32326)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -1,265 +0,0 @@
-package org.drools.factconstraint;
-
-import java.util.Collection;
-
-import org.drools.builder.ResourceType;
-import org.drools.factconstraint.server.Constraint;
-import org.drools.factconstraints.client.ConstraintConfiguration;
-import org.drools.factconstraints.client.ValidationResult;
-import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
-import org.drools.factconstraints.server.predefined.RangeConstraint;
-import org.drools.io.ResourceFactory;
-import org.drools.verifier.Verifier;
-import org.drools.verifier.VerifierConfiguration;
-import org.drools.verifier.VerifierConfigurationImpl;
-import org.drools.verifier.VerifierError;
-import org.drools.verifier.builder.VerifierBuilder;
-import org.drools.verifier.builder.VerifierBuilderFactory;
-import org.drools.verifier.data.VerifierReport;
-import org.drools.verifier.report.components.Severity;
-import org.drools.verifier.report.components.VerifierMessageBase;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public class RangeConstraintTest {
-
- private Constraint cons;
- private ConstraintConfiguration conf;
-
- @Before
- public void setup() {
- cons = new RangeConstraint();
- conf = new SimpleConstraintConfigurationImpl();
- conf.setFactType("Person");
- conf.setFieldName("age");
- }
-
- @Test
- public void testValidConstraint(){
-
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "-0.5");
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "100");
-
- ValidationResult result = cons.validate(12, conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate(new Integer("12"), conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate("12", conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate(0.6, conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate(new Float("-0.3"), conf);
- Assert.assertTrue(result.isSuccess());
-
- result = cons.validate("90.76", conf);
- Assert.assertTrue(result.isSuccess());
-
- }
-
- @Test
- public void testInvalidConstraint(){
-
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "-0.5");
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "100");
-
- ValidationResult result = cons.validate(new Object(), conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
- result = cons.validate(null, conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
- result = cons.validate("", conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
- result = cons.validate("ABC", conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
- result = cons.validate(new Long("-100"), conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
- result = cons.validate(-0.5, conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
- result = cons.validate(100, conf);
- Assert.assertFalse(result.isSuccess());
- System.out.println("Message: "+result.getMessage());
-
-
- }
-
- @Test
- public void testUsingVerifier() {
-
- //age constraint
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
- conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "120");
- System.out.println("Validation Rule:\n" + cons.getVerifierRule(conf) + "\n\n");
-
- //salary constraint
- ConstraintConfiguration salaryCons = new SimpleConstraintConfigurationImpl();
- salaryCons.setFactType("Person");
- salaryCons.setFieldName("salary");
- salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
- salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "1000.6");
-
- System.out.println("Validation Rule:\n" + cons.getVerifierRule(salaryCons) + "\n\n");
-
-
- String ruleToVerify = "";
- int fail = 0;
-
- //OK
- ruleToVerify += "package org.drools.factconstraint.test\n\n";
- ruleToVerify += "import org.drools.factconstraint.model.*\n";
- ruleToVerify += "rule \"rule1\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 10)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n\n";
-
- //FAIL - 1
- ruleToVerify += "rule \"rule2\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == -5)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n\n";
- fail++;
-
- //OK
- ruleToVerify += "rule \"rule3\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 100)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
-
- //OK
- ruleToVerify += "rule \"rule4\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(salary == 100)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
-
- //OK
- ruleToVerify += "rule \"rule5\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(salary == 89.67)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
-
- //FAIL - 2
- ruleToVerify += "rule \"rule6\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(salary == 1000.7)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
- fail++;
-
- //FAIL - 3
- ruleToVerify += "rule \"rule7\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(salary == 1024)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
- fail++;
-
- //OK
- ruleToVerify += "rule \"rule8\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 45, salary == 1000)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
-
- //FAIL: age - 4
- ruleToVerify += "rule \"rule9\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 40, salary == 1011)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
- fail++;
-
- //FAIL salary - 5
- ruleToVerify += "rule \"rule10\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 43, salary == 1007)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
- fail++;
-
- //FAIL both (creates 2 warnings) - 6,7
- ruleToVerify += "rule \"rule11\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 403, salary == 1008)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
- fail+=2;
-
- //FAIL both (creates 2 warnings) - 8,9
- ruleToVerify += "rule \"rule12\"\n";
- ruleToVerify += " when\n";
- ruleToVerify += " Person(age == 404, salary == -0.679)\n";
- ruleToVerify += " then\n";
- ruleToVerify += " System.out.println(\"Rule fired\");\n";
- ruleToVerify += "end\n";
- fail+=2;
-
- VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
-
- VerifierConfiguration vconf = new VerifierConfigurationImpl();
-
- vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(this.conf).getBytes()), ResourceType.DRL);
- vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(salaryCons).getBytes()), ResourceType.DRL);
-
- Verifier verifier = vBuilder.newVerifier(vconf);
-
- verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
- ResourceType.DRL);
-
- if (verifier.hasErrors()) {
- for (VerifierError error : verifier.getErrors()) {
- System.out.println(error.getMessage());
- }
- throw new RuntimeException("Error building verifier");
- }
-
- Assert.assertFalse(verifier.hasErrors());
-
- boolean noProblems = verifier.fireAnalysis();
- Assert.assertTrue(noProblems);
-
- VerifierReport result = verifier.getResult();
-
- Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
-
- System.out.println(warnings);
-
- Assert.assertEquals(fail, warnings.size());
- verifier.dispose();
- }
-
-}
Copied: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/client/helper/ConstraintsConstrainerTest.java (from rev 32324, labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/client/helper/ConstraintsConstrainerTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/client/helper/ConstraintsConstrainerTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -0,0 +1,53 @@
+package org.drools.factconstraints.client.helper;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+import java.util.LinkedList;
+
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
+import org.drools.factconstraints.client.helper.ConstraintsContainer;
+import org.junit.Test;
+
+
+public class ConstraintsConstrainerTest {
+
+ @Test
+ public void test() {
+ LinkedList<ConstraintConfiguration> list = new LinkedList<ConstraintConfiguration>();
+ ConstraintConfiguration conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("age");
+
+ list.add(conf);
+ ConstraintsContainer cc = new ConstraintsContainer(list);
+ assertTrue(cc.hasConstraints("Person"));
+ assertFalse(cc.hasConstraints("Person3"));
+
+ assertEquals(1, cc.getConstraints("Person").size());
+
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("name");
+
+ cc.addConstraint(conf);
+ assertEquals(2, cc.getConstraints("Person").size());
+ assertEquals(1, cc.getConstraints("Person", "age").size());
+ assertSame(conf, cc.getConstraints("Person", "name").get(0));
+ assertEquals(0, cc.getConstraints("Person", "toothCount").size());
+
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Pet");
+ conf.setFieldName("name");
+
+ cc.addConstraint(conf);
+
+ assertEquals(1, cc.getConstraints("Pet").size());
+
+ assertEquals(1, cc.getConstraints("Pet", "name").size());
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/IntegerConstraintTest.java (from rev 32324, labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/IntegerConstraintTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/IntegerConstraintTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -0,0 +1,159 @@
+package org.drools.factconstraints.server.predefined;
+
+import java.util.Collection;
+
+import org.drools.builder.ResourceType;
+import org.drools.factconstraint.server.Constraint;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.ValidationResult;
+import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
+import org.drools.factconstraints.server.predefined.IntegerConstraint;
+import org.drools.io.ResourceFactory;
+import org.drools.verifier.Verifier;
+import org.drools.verifier.VerifierConfiguration;
+import org.drools.verifier.VerifierConfigurationImpl;
+import org.drools.verifier.VerifierError;
+import org.drools.verifier.builder.VerifierBuilder;
+import org.drools.verifier.builder.VerifierBuilderFactory;
+import org.drools.verifier.data.VerifierReport;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class IntegerConstraintTest {
+
+ private ConstraintConfiguration conf;
+
+ @Before
+ public void setup() {
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("age");
+ }
+
+ @Test
+ public void testValidConstraint() {
+ Constraint cons = new IntegerConstraint();
+
+ ValidationResult result = cons.validate(12, conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate(new Integer("12"), conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate("12", conf);
+ Assert.assertTrue(result.isSuccess());
+
+ }
+
+ @Test
+ public void testInvalidConstraint() {
+ Constraint cons = new IntegerConstraint();
+
+ ValidationResult result = cons.validate(new Object(), conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: " + result.getMessage());
+
+ result = cons.validate("", conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: " + result.getMessage());
+
+ result = cons.validate("ABC", conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: " + result.getMessage());
+
+ result = cons.validate(null, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: " + result.getMessage());
+
+ result = cons.validate(new Long("12"), conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: " + result.getMessage());
+
+ result = cons.validate(12L, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: " + result.getMessage());
+
+ result = cons.validate(12.8, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: " + result.getMessage());
+ }
+
+ @Test
+ public void testUsingVerifier() {
+
+ String ruleToVerify = "";
+
+ //FAIL
+ ruleToVerify += "package org.drools.factconstraint.test\n\n";
+ ruleToVerify += "import org.drools.factconstraint.model.*\n";
+ ruleToVerify += "rule \"rule1\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 'abc')\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n\n";
+
+ //OK
+ ruleToVerify += "rule \"rule2\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 12)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n\n";
+
+ //FAIL
+ ruleToVerify += "rule \"rule3\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == '')\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+
+ VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
+
+ //VerifierConfiguration conf = new DefaultVerifierConfiguration();
+ VerifierConfiguration vconf = new VerifierConfigurationImpl();
+
+ Constraint cons = new IntegerConstraint();
+ vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(conf).getBytes()), ResourceType.DRL);
+
+ Verifier verifier = vBuilder.newVerifier(vconf);
+
+ verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
+ ResourceType.DRL);
+
+ if (verifier.hasErrors()) {
+ for (VerifierError error : verifier.getErrors()) {
+ System.out.println(error.getMessage());
+ }
+ throw new RuntimeException("Error building verifier");
+ }
+
+ Assert.assertFalse(verifier.hasErrors());
+
+ boolean noProblems = verifier.fireAnalysis();
+ Assert.assertTrue(noProblems);
+
+ VerifierReport result = verifier.getResult();
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
+
+ int counter = 0;
+ for (VerifierMessageBase message : warnings) {
+ System.out.println(message);
+ counter++;
+ }
+
+ Assert.assertEquals(2, counter);
+
+ verifier.dispose();
+ }
+}
Added: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotMatchesConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotMatchesConstraintTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotMatchesConstraintTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -0,0 +1,150 @@
+package org.drools.factconstraints.server.predefined;
+
+import java.util.Collection;
+
+import org.drools.builder.ResourceType;
+import org.drools.factconstraint.server.Constraint;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.ValidationResult;
+import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
+import org.drools.io.ResourceFactory;
+import org.drools.verifier.Verifier;
+import org.drools.verifier.VerifierConfiguration;
+import org.drools.verifier.VerifierConfigurationImpl;
+import org.drools.verifier.VerifierError;
+import org.drools.verifier.builder.VerifierBuilder;
+import org.drools.verifier.builder.VerifierBuilderFactory;
+import org.drools.verifier.data.VerifierReport;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ *
+ * @author baunax at gmail.com
+ */
+public class NotMatchesConstraintTest {
+
+ private ConstraintConfiguration conf;
+ private Constraint cons;
+
+ @Before
+ public void setup() {
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("name");
+ conf.setArgumentValue(NotMatchesConstraint.NOT_MATCHES_ARGUMENT, "^[A-Z].*$");
+
+ cons = new NotMatchesConstraint();
+
+ System.out.println("not matches rule: " + cons.getVerifierRule(conf));
+ }
+
+ @Test @Ignore
+ public void testValidConstraint(){
+
+ ValidationResult result = cons.validate("Bart", conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate("", conf);
+ Assert.assertFalse(result.isSuccess());
+
+ result = cons.validate("bart", conf);
+ Assert.assertFalse(result.isSuccess());
+
+ result = cons.validate(new Long("12"), conf);
+ Assert.assertFalse(result.isSuccess());
+
+ result = cons.validate(12L, conf);
+ Assert.assertFalse(result.isSuccess());
+
+ result = cons.validate(12.8, conf);
+ Assert.assertFalse(result.isSuccess());
+ }
+
+ @Test @Ignore
+ public void testInvalidConstraint(){
+
+ ValidationResult result = cons.validate(null, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ }
+
+ @Test
+ public void testUsingVerifier() {
+
+ String ruleToVerify = "";
+
+ //OK
+ ruleToVerify += "package org.drools.factconstraint.test\n\n";
+ ruleToVerify += "import org.drools.factconstraint.model.*\n";
+ ruleToVerify += "rule \"rule1\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(name == \"John\")\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n\n";
+
+ //FAIL
+ ruleToVerify += "rule \"rule2\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(name == '')\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+ //FAIL
+ ruleToVerify += "rule \"rule3\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(name == 'bart')\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+ //FAIL
+ ruleToVerify += "rule \"rule4\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(name == '1bart')\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+ VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
+
+ VerifierConfiguration vconf = new VerifierConfigurationImpl();
+
+ vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(this.conf).getBytes()), ResourceType.DRL);
+
+ Verifier verifier = vBuilder.newVerifier(vconf);
+
+ verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
+ ResourceType.DRL);
+
+ if (verifier.hasErrors()) {
+ for (VerifierError error : verifier.getErrors()) {
+ System.out.println(error.getMessage());
+ }
+ throw new RuntimeException("Error building verifier");
+ }
+
+ Assert.assertFalse(verifier.hasErrors());
+
+ boolean noProblems = verifier.fireAnalysis();
+ Assert.assertTrue(noProblems);
+
+ VerifierReport result = verifier.getResult();
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
+
+ System.out.println(warnings);
+
+ Assert.assertEquals(3, warnings.size());
+
+ verifier.dispose();
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotMatchesConstraintTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotNullConstraintTest.java (from rev 32324, labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotNullConstraintTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/NotNullConstraintTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -0,0 +1,145 @@
+package org.drools.factconstraints.server.predefined;
+
+import java.util.Collection;
+
+import org.drools.builder.ResourceType;
+import org.drools.factconstraint.server.Constraint;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.ValidationResult;
+import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
+import org.drools.factconstraints.server.predefined.NotNullConstraint;
+import org.drools.io.ResourceFactory;
+import org.drools.verifier.Verifier;
+import org.drools.verifier.VerifierConfiguration;
+import org.drools.verifier.VerifierConfigurationImpl;
+import org.drools.verifier.VerifierError;
+import org.drools.verifier.builder.VerifierBuilder;
+import org.drools.verifier.builder.VerifierBuilderFactory;
+import org.drools.verifier.data.VerifierReport;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class NotNullConstraintTest {
+
+ private ConstraintConfiguration conf;
+ private Constraint cons;
+
+ @Before
+ public void setup() {
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("name");
+
+ cons = new NotNullConstraint();
+ }
+
+ @Test
+ public void testValidConstraint(){
+
+ ValidationResult result = cons.validate(new Object(), conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate("", conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate("ABC", conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate(new Long("12"), conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate(12L, conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate(12.8, conf);
+ Assert.assertTrue(result.isSuccess());
+ }
+
+ @Test
+ public void testInvalidConstraint(){
+
+ ValidationResult result = cons.validate(null, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ }
+
+ @Test
+ public void testUsingVerifier() {
+
+ String ruleToVerify = "";
+
+ //OK
+ ruleToVerify += "package org.drools.factconstraint.test\n\n";
+ ruleToVerify += "import org.drools.factconstraint.model.*\n";
+ ruleToVerify += "rule \"rule1\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(name == 'John McClane')\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n\n";
+
+ //FAIL
+ ruleToVerify += "rule \"rule2\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(name == null)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n\n";
+
+ //OK
+ ruleToVerify += "rule \"rule3\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(name == '')\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+
+ VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
+
+ VerifierConfiguration vconf = new VerifierConfigurationImpl();
+
+ vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(this.conf).getBytes()), ResourceType.DRL);
+
+ Verifier verifier = vBuilder.newVerifier(vconf);
+
+ verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
+ ResourceType.DRL);
+
+ if (verifier.hasErrors()) {
+ for (VerifierError error : verifier.getErrors()) {
+ System.out.println(error.getMessage());
+ }
+ throw new RuntimeException("Error building verifier");
+ }
+
+ Assert.assertFalse(verifier.hasErrors());
+
+ boolean noProblems = verifier.fireAnalysis();
+ Assert.assertTrue(noProblems);
+
+ VerifierReport result = verifier.getResult();
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
+
+ int counter = 0;
+ for (VerifierMessageBase message : warnings) {
+ System.out.println(message);
+ counter++;
+ }
+
+ Assert.assertEquals(1,
+ counter);
+
+ verifier.dispose();
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintMultipleOperatorsTest.java (from rev 32324, labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintMultipleOperatorsTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintMultipleOperatorsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintMultipleOperatorsTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -0,0 +1,185 @@
+package org.drools.factconstraints.server.predefined;
+
+import java.util.Collection;
+import org.drools.builder.ResourceType;
+import org.drools.factconstraint.server.Constraint;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
+import org.drools.factconstraints.server.predefined.RangeConstraint;
+import org.drools.io.ResourceFactory;
+import org.drools.verifier.Verifier;
+import org.drools.verifier.VerifierConfiguration;
+import org.drools.verifier.VerifierConfigurationImpl;
+import org.drools.verifier.VerifierError;
+import org.drools.verifier.builder.VerifierBuilder;
+import org.drools.verifier.builder.VerifierBuilderFactory;
+import org.drools.verifier.data.VerifierReport;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class RangeConstraintMultipleOperatorsTest {
+
+ private Verifier verifier;
+ private Constraint cons;
+ private ConstraintConfiguration conf;
+
+ @Before
+ public void setup() {
+ cons = new RangeConstraint();
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("age");
+
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "120");
+ //System.out.println("Validation Rule:\n" + cons.getVerifierRule(conf) + "\n\n");
+
+ }
+
+ @After
+ public void dispose() {
+ if (verifier != null) {
+ verifier.dispose();
+ }
+ }
+
+ @Test
+ public void test() {
+
+ String rulesToVerify = "";
+ int fail = 0;
+ int warn = 0;
+
+ //OK
+ rulesToVerify += "package org.drools.factconstraint.test\n\n";
+ rulesToVerify += "import org.drools.factconstraint.model.*\n";
+ rulesToVerify += "rule \"rule1\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 1, age < 100)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+
+ //FAIL
+ rulesToVerify += "rule \"rule2\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > -1, age < 60)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warn++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule3\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > -1, age < 150)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warn++;
+
+ //FAIL-Impossible
+ rulesToVerify += "rule \"rule4\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 150, age < -1)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ fail++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule5\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > -10, age < -1)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warn++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule6\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 18, age < 150)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warn++;
+
+ //FAIL-Impossible
+ rulesToVerify += "rule \"rule7\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 18, age < -1)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ fail++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule8\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 130, age < 150)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warn++;
+
+ //FAIL-Impossible
+ rulesToVerify += "rule \"rule9\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 130, age < 18)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ fail++;
+
+ VerifierReport result = this.verify(rulesToVerify);
+
+ Collection<VerifierMessageBase> errors = result.getBySeverity(Severity.ERROR);
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
+
+ System.out.println(warnings);
+ System.out.println(errors);
+
+ Assert.assertEquals(warn, warnings.size());
+ Assert.assertEquals(fail, errors.size());
+ }
+
+ private VerifierReport verify(String rulesToVerify) {
+ VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
+
+ //VerifierConfiguration conf = new DefaultVerifierConfiguration();
+ VerifierConfiguration conf = new VerifierConfigurationImpl();
+
+ conf.getVerifyingResources().put(ResourceFactory.newClassPathResource("RangeConstraintMultiOperator.drl"), ResourceType.DRL);
+
+ //conf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule().getBytes()), ResourceType.DRL);
+
+ verifier = vBuilder.newVerifier(conf);
+
+ verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(rulesToVerify.getBytes()),
+ ResourceType.DRL);
+
+ if (verifier.hasErrors()) {
+ for (VerifierError error : verifier.getErrors()) {
+ System.out.println(error.getMessage());
+ }
+ throw new RuntimeException("Error building verifier");
+ }
+
+ Assert.assertFalse(verifier.hasErrors());
+
+ boolean noProblems = verifier.fireAnalysis();
+ Assert.assertTrue(noProblems);
+
+ return verifier.getResult();
+
+ }
+}
Copied: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintSingleOperatorTest.java (from rev 32324, labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintSingleOperatorTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintSingleOperatorTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintSingleOperatorTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -0,0 +1,349 @@
+package org.drools.factconstraints.server.predefined;
+
+import java.util.Collection;
+
+import org.drools.builder.ResourceType;
+import org.drools.factconstraint.server.Constraint;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
+import org.drools.factconstraints.server.predefined.RangeConstraint;
+import org.drools.io.ResourceFactory;
+import org.drools.verifier.Verifier;
+import org.drools.verifier.VerifierConfiguration;
+import org.drools.verifier.VerifierConfigurationImpl;
+import org.drools.verifier.VerifierError;
+import org.drools.verifier.builder.VerifierBuilder;
+import org.drools.verifier.builder.VerifierBuilderFactory;
+import org.drools.verifier.data.VerifierReport;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class RangeConstraintSingleOperatorTest {
+
+ private Verifier verifier;
+ private Constraint cons;
+ private ConstraintConfiguration conf;
+
+ @Before
+ public void setup() {
+ cons = new RangeConstraint();
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("age");
+
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "120");
+ System.out.println("Validation Rule:\n" + cons.getVerifierRule(conf) + "\n\n");
+ }
+
+ @After
+ public void dispose(){
+ if (verifier != null){
+ verifier.dispose();
+ }
+ }
+
+ @Test
+ public void testEq() {
+
+ String rulesToVerify = "";
+ int fail = 0;
+
+ //FAIL
+ rulesToVerify += "package org.drools.factconstraint.test\n\n";
+ rulesToVerify += "import org.drools.factconstraint.model.*\n";
+ rulesToVerify += "rule \"rule1\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age == -5)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ fail++;
+
+ //OK
+ rulesToVerify += "rule \"rule2\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age == 10)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+
+ //FAIL
+ rulesToVerify += "rule \"rule3\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age == 130)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n";
+ fail++;
+
+ VerifierReport result = this.verify(rulesToVerify);
+
+ Collection<VerifierMessageBase> errors = result.getBySeverity(Severity.ERROR);
+
+ System.out.println(errors);
+
+ Assert.assertEquals(fail, errors.size());
+ }
+
+ @Test
+ public void testNotEq() {
+
+ String rulesToVerify = "";
+ int warning = 0;
+
+ //FAIL
+ rulesToVerify += "package org.drools.factconstraint.test\n\n";
+ rulesToVerify += "import org.drools.factconstraint.model.*\n";
+ rulesToVerify += "rule \"rule1\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age != -5)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //OK
+ rulesToVerify += "rule \"rule2\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age != 10)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+
+ //FAIL
+ rulesToVerify += "rule \"rule3\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age != 130)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n";
+ warning++;
+
+ VerifierReport result = this.verify(rulesToVerify);
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
+
+ System.out.println(warnings);
+
+ Assert.assertEquals(warning, warnings.size());
+ }
+
+ @Test
+ public void testGT() {
+
+ String rulesToVerify = "";
+ int fail = 0;
+ int warning = 0;
+
+ //FAIL
+ rulesToVerify += "package org.drools.factconstraint.test\n\n";
+ rulesToVerify += "import org.drools.factconstraint.model.*\n";
+ rulesToVerify += "rule \"rule1\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > -5)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule2\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 10)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule3\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age > 130)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n";
+ warning++;
+
+ VerifierReport result = this.verify(rulesToVerify);
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
+
+ System.out.println(warnings);
+
+ Assert.assertEquals(warning, warnings.size());
+ }
+
+ @Test
+ public void testGE() {
+
+ String rulesToVerify = "";
+ int fail = 0;
+ int warning = 0;
+
+ //FAIL
+ rulesToVerify += "package org.drools.factconstraint.test\n\n";
+ rulesToVerify += "import org.drools.factconstraint.model.*\n";
+ rulesToVerify += "rule \"rule1\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age >= -5)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule2\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age >= 10)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule3\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age >= 130)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n";
+ warning++;
+
+ VerifierReport result = this.verify(rulesToVerify);
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
+
+ System.out.println(warnings);
+
+ Assert.assertEquals(warning, warnings.size());
+ }
+
+ @Test
+ public void testLT() {
+
+ String rulesToVerify = "";
+ int fail = 0;
+ int warning = 0;
+
+ //FAIL
+ rulesToVerify += "package org.drools.factconstraint.test\n\n";
+ rulesToVerify += "import org.drools.factconstraint.model.*\n";
+ rulesToVerify += "rule \"rule1\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age < -5)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule2\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age < 10)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule3\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age < 130)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n";
+ warning++;
+
+ VerifierReport result = this.verify(rulesToVerify);
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
+
+ System.out.println(warnings);
+
+ Assert.assertEquals(warning, warnings.size());
+ }
+
+ @Test
+ public void testLE() {
+
+ String rulesToVerify = "";
+ int fail = 0;
+ int warning = 0;
+
+ //FAIL
+ rulesToVerify += "package org.drools.factconstraint.test\n\n";
+ rulesToVerify += "import org.drools.factconstraint.model.*\n";
+ rulesToVerify += "rule \"rule1\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age <= -5)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule2\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age <= 10)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n\n";
+ warning++;
+
+ //FAIL
+ rulesToVerify += "rule \"rule3\"\n";
+ rulesToVerify += " when\n";
+ rulesToVerify += " Person(age <= 130)\n";
+ rulesToVerify += " then\n";
+ rulesToVerify += " System.out.println(\"Rule fired\");\n";
+ rulesToVerify += "end\n";
+ warning++;
+
+ VerifierReport result = this.verify(rulesToVerify);
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.WARNING);
+
+ System.out.println(warnings);
+
+ Assert.assertEquals(warning, warnings.size());
+ }
+
+ private VerifierReport verify(String rulesToVerify){
+ VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
+
+ //VerifierConfiguration conf = new DefaultVerifierConfiguration();
+ VerifierConfiguration vconf = new VerifierConfigurationImpl();
+
+ vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(this.conf).getBytes()), ResourceType.DRL);
+
+ verifier = vBuilder.newVerifier(vconf);
+
+ verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(rulesToVerify.getBytes()),
+ ResourceType.DRL);
+
+ if (verifier.hasErrors()) {
+ for (VerifierError error : verifier.getErrors()) {
+ System.out.println(error.getMessage());
+ }
+ throw new RuntimeException("Error building verifier");
+ }
+
+ Assert.assertFalse(verifier.hasErrors());
+
+ boolean noProblems = verifier.fireAnalysis();
+ Assert.assertTrue(noProblems);
+
+ return verifier.getResult();
+
+ }
+
+}
Copied: labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintTest.java (from rev 32324, labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/test/java/org/drools/factconstraints/server/predefined/RangeConstraintTest.java 2010-03-31 16:46:58 UTC (rev 32327)
@@ -0,0 +1,265 @@
+package org.drools.factconstraints.server.predefined;
+
+import java.util.Collection;
+
+import org.drools.builder.ResourceType;
+import org.drools.factconstraint.server.Constraint;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.ValidationResult;
+import org.drools.factconstraints.client.config.SimpleConstraintConfigurationImpl;
+import org.drools.factconstraints.server.predefined.RangeConstraint;
+import org.drools.io.ResourceFactory;
+import org.drools.verifier.Verifier;
+import org.drools.verifier.VerifierConfiguration;
+import org.drools.verifier.VerifierConfigurationImpl;
+import org.drools.verifier.VerifierError;
+import org.drools.verifier.builder.VerifierBuilder;
+import org.drools.verifier.builder.VerifierBuilderFactory;
+import org.drools.verifier.data.VerifierReport;
+import org.drools.verifier.report.components.Severity;
+import org.drools.verifier.report.components.VerifierMessageBase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class RangeConstraintTest {
+
+ private Constraint cons;
+ private ConstraintConfiguration conf;
+
+ @Before
+ public void setup() {
+ cons = new RangeConstraint();
+ conf = new SimpleConstraintConfigurationImpl();
+ conf.setFactType("Person");
+ conf.setFieldName("age");
+ }
+
+ @Test
+ public void testValidConstraint(){
+
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "-0.5");
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "100");
+
+ ValidationResult result = cons.validate(12, conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate(new Integer("12"), conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate("12", conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate(0.6, conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate(new Float("-0.3"), conf);
+ Assert.assertTrue(result.isSuccess());
+
+ result = cons.validate("90.76", conf);
+ Assert.assertTrue(result.isSuccess());
+
+ }
+
+ @Test
+ public void testInvalidConstraint(){
+
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "-0.5");
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "100");
+
+ ValidationResult result = cons.validate(new Object(), conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ result = cons.validate(null, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ result = cons.validate("", conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ result = cons.validate("ABC", conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ result = cons.validate(new Long("-100"), conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ result = cons.validate(-0.5, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+ result = cons.validate(100, conf);
+ Assert.assertFalse(result.isSuccess());
+ System.out.println("Message: "+result.getMessage());
+
+
+ }
+
+ @Test
+ public void testUsingVerifier() {
+
+ //age constraint
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
+ conf.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "120");
+ System.out.println("Validation Rule:\n" + cons.getVerifierRule(conf) + "\n\n");
+
+ //salary constraint
+ ConstraintConfiguration salaryCons = new SimpleConstraintConfigurationImpl();
+ salaryCons.setFactType("Person");
+ salaryCons.setFieldName("salary");
+ salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
+ salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "1000.6");
+
+ System.out.println("Validation Rule:\n" + cons.getVerifierRule(salaryCons) + "\n\n");
+
+
+ String ruleToVerify = "";
+ int fail = 0;
+
+ //OK
+ ruleToVerify += "package org.drools.factconstraint.test\n\n";
+ ruleToVerify += "import org.drools.factconstraint.model.*\n";
+ ruleToVerify += "rule \"rule1\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 10)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n\n";
+
+ //FAIL - 1
+ ruleToVerify += "rule \"rule2\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == -5)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n\n";
+ fail++;
+
+ //OK
+ ruleToVerify += "rule \"rule3\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 100)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+ //OK
+ ruleToVerify += "rule \"rule4\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(salary == 100)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+ //OK
+ ruleToVerify += "rule \"rule5\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(salary == 89.67)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+ //FAIL - 2
+ ruleToVerify += "rule \"rule6\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(salary == 1000.7)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+ fail++;
+
+ //FAIL - 3
+ ruleToVerify += "rule \"rule7\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(salary == 1024)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+ fail++;
+
+ //OK
+ ruleToVerify += "rule \"rule8\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 45, salary == 1000)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+
+ //FAIL: age - 4
+ ruleToVerify += "rule \"rule9\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 40, salary == 1011)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+ fail++;
+
+ //FAIL salary - 5
+ ruleToVerify += "rule \"rule10\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 43, salary == 1007)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+ fail++;
+
+ //FAIL both (creates 2 warnings) - 6,7
+ ruleToVerify += "rule \"rule11\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 403, salary == 1008)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+ fail+=2;
+
+ //FAIL both (creates 2 warnings) - 8,9
+ ruleToVerify += "rule \"rule12\"\n";
+ ruleToVerify += " when\n";
+ ruleToVerify += " Person(age == 404, salary == -0.679)\n";
+ ruleToVerify += " then\n";
+ ruleToVerify += " System.out.println(\"Rule fired\");\n";
+ ruleToVerify += "end\n";
+ fail+=2;
+
+ VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
+
+ VerifierConfiguration vconf = new VerifierConfigurationImpl();
+
+ vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(this.conf).getBytes()), ResourceType.DRL);
+ vconf.getVerifyingResources().put(ResourceFactory.newByteArrayResource(cons.getVerifierRule(salaryCons).getBytes()), ResourceType.DRL);
+
+ Verifier verifier = vBuilder.newVerifier(vconf);
+
+ verifier.addResourcesToVerify(ResourceFactory.newByteArrayResource(ruleToVerify.getBytes()),
+ ResourceType.DRL);
+
+ if (verifier.hasErrors()) {
+ for (VerifierError error : verifier.getErrors()) {
+ System.out.println(error.getMessage());
+ }
+ throw new RuntimeException("Error building verifier");
+ }
+
+ Assert.assertFalse(verifier.hasErrors());
+
+ boolean noProblems = verifier.fireAnalysis();
+ Assert.assertTrue(noProblems);
+
+ VerifierReport result = verifier.getResult();
+
+ Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
+
+ System.out.println(warnings);
+
+ Assert.assertEquals(fail, warnings.size());
+ verifier.dispose();
+ }
+
+}
More information about the jboss-svn-commits
mailing list