testxor.java
来自「一个关于java 的常用工具包」· Java 代码 · 共 86 行
JAVA
86 行
package org.jutiltest.predicate;import org.jutil.junit.JutilTest;import org.jutil.junit.CVSRevision;import org.jutil.predicate.Xor;import org.jutil.predicate.Predicate;import org.jutil.predicate.PrimitiveTotalPredicate;import org.jutil.predicate.TotalPredicate;import org.jutil.predicate.NegationAsFailure;public class TestXor extends JutilTest { public TestXor(String name) { super(name, new CVSRevision("1.2")); } public void setup() { } private Predicate _greaterThan5 = new PrimitiveTotalPredicate() { public boolean eval(Object o) { if(!(o instanceof Integer)) { return false; } else { return ((Integer)o).intValue() > 5; } } }; private Predicate _smallerThan5 = new PrimitiveTotalPredicate() { public boolean eval(Object o) { if(!(o instanceof Integer)) { return false; } else { return ((Integer)o).intValue() < 5; } } }; private Predicate _equalTo5 = new PrimitiveTotalPredicate() { public boolean eval(Object o) { if(!(o instanceof Integer)) { return false; } else { return ((Integer)o).intValue() == 5; } } }; private TotalPredicate wrap(Predicate predicate) { return new NegationAsFailure(predicate); } public void testXor() { for (int i=-10; i<5; i++) { assertTrue(wrap(new Xor(_equalTo5,_smallerThan5)).eval(new Integer(i))); assertTrue(wrap(new Xor(_smallerThan5,_equalTo5)).eval(new Integer(i))); assertTrue(wrap(new Xor(_greaterThan5,_smallerThan5)).eval(new Integer(i))); assertTrue(wrap(new Xor(_smallerThan5,_greaterThan5)).eval(new Integer(i))); assertTrue(! wrap(new Xor(_equalTo5,_greaterThan5)).eval(new Integer(i))); assertTrue(! wrap(new Xor(_greaterThan5,_equalTo5)).eval(new Integer(i))); } for (int i=6; i<15; i++) { assertTrue(! wrap(new Xor(_equalTo5,_smallerThan5)).eval(new Integer(i))); assertTrue(! wrap(new Xor(_smallerThan5,_equalTo5)).eval(new Integer(i))); assertTrue(wrap(new Xor(_greaterThan5,_smallerThan5)).eval(new Integer(i))); assertTrue(wrap(new Xor(_smallerThan5,_greaterThan5)).eval(new Integer(i))); assertTrue(wrap(new Xor(_equalTo5,_greaterThan5)).eval(new Integer(i))); assertTrue(wrap(new Xor(_greaterThan5,_equalTo5)).eval(new Integer(i))); } for(int i=0;i<11;i++) { assertTrue(! wrap(new Xor(_greaterThan5,_greaterThan5)).eval(new Integer(i))); } for(int i=0;i<11;i++) { assertTrue(! wrap(new Xor(_smallerThan5,_smallerThan5)).eval(new Integer(i))); } for(int i=0;i<11;i++) { assertTrue(! wrap(new Xor(_equalTo5,_equalTo5)).eval(new Integer(i))); } assertTrue(! wrap(new Xor(_equalTo5,_equalTo5)).eval(new Integer(5))); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?