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 + -
显示快捷键?