Revision: 1206
Author: jhoskens
Date: 2006-06-21 02:07:30 -0700 (Wed, 21 Jun 2006)
ViewCVS: http://svn.sourceforge.net/spring-rich-c/?rev=1206&view=rev
Log Message:
-----------
Added XOR: patch from issue RCP-370
Modified Paths:
--------------
trunk/spring-richclient/support/src/main/java/org/springframework/rules/constraint/LogicalOperator.java
trunk/spring-richclient/support/src/test/java/org/springframework/rules/RulesTests.java
Modified:
trunk/spring-richclient/support/src/main/java/org/springframework/rules/constraint/LogicalOperator.java
===================================================================
---
trunk/spring-richclient/support/src/main/java/org/springframework/rules/constraint/LogicalOperator.java
2006-06-21 08:45:15 UTC (rev 1205)
+++
trunk/spring-richclient/support/src/main/java/org/springframework/rules/constraint/LogicalOperator.java
2006-06-21 09:07:30 UTC (rev 1206)
@@ -40,7 +40,16 @@
}
};
- private LogicalOperator(String code, String symbol) {
+ /**
+ * The <code>XOR</code> operator
+ */
+ public static final LogicalOperator XOR = new LogicalOperator("xor", "^") {
+ public CompoundConstraint createConstraint() {
+ return new XOr();
+ }
+ };
+
+ private LogicalOperator(String code, String symbol) {
super(code, symbol);
}
Modified:
trunk/spring-richclient/support/src/test/java/org/springframework/rules/RulesTests.java
===================================================================
---
trunk/spring-richclient/support/src/test/java/org/springframework/rules/RulesTests.java
2006-06-21 08:45:15 UTC (rev 1205)
+++
trunk/spring-richclient/support/src/test/java/org/springframework/rules/RulesTests.java
2006-06-21 09:07:30 UTC (rev 1206)
@@ -32,6 +32,7 @@
import org.springframework.rules.constraint.EqualTo;
import org.springframework.rules.constraint.GreaterThan;
import org.springframework.rules.constraint.GreaterThanEqualTo;
+import org.springframework.rules.constraint.InGroup;
import org.springframework.rules.constraint.LessThan;
import org.springframework.rules.constraint.LessThanEqualTo;
import org.springframework.rules.constraint.LogicalOperator;
@@ -42,6 +43,7 @@
import org.springframework.rules.constraint.RelationalOperator;
import org.springframework.rules.constraint.Required;
import org.springframework.rules.constraint.StringLengthConstraint;
+import org.springframework.rules.constraint.XOr;
import
org.springframework.rules.constraint.property.CompoundPropertyConstraint;
import
org.springframework.rules.constraint.property.ParameterizedPropertyConstraint;
import org.springframework.rules.constraint.property.PropertiesConstraint;
@@ -262,7 +264,17 @@
assertFalse(or.test(" "));
}
- public void testNot() {
+ public void testXOr() {
+ XOr xor = new XOr();
+ xor.add(new InGroup(new String[] {"123", "12345"}));
+ xor.add(new InGroup(new String[] {"1234", "12345"}));
+ assertTrue(xor.test("123"));
+ assertTrue(xor.test("1234"));
+ assertFalse(xor.test(" "));
+ assertFalse(xor.test("12345"));
+ }
+
+ public void testNot() {
Number n = new Integer("25");
Constraint p = constraints.bind(EqualTo.instance(), n);
Not not = new Not(p);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
spring-rich-c-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spring-rich-c-cvs