|
From: Steve F. <sm...@us...> - 2002-10-25 22:05:27
|
Update of /cvsroot/mockobjects/mockobjects-java/src/core/test/mockobjects/dynamic
In directory usw-pr-cvs1:/tmp/cvs-serv30622/src/core/test/mockobjects/dynamic
Added Files:
PredicatesTest.java
Removed Files:
Test_Predicates.java
Log Message:
rename from Test_Predicates to PredicatesTest
--- NEW FILE: PredicatesTest.java ---
/* Copyright (c) 2002 Nat Pryce. All rights reserved.
*
* Created on February 10, 2002, 11:24 PM
*/
package test.mockobjects.dynamic;
import com.mockobjects.dynamic.*;
import java.util.EventObject;
public class PredicatesTest
extends junit.framework.TestCase
{
class True implements Predicate {
public boolean eval( Object o ) { return true; }
}
class False implements Predicate {
public boolean eval( Object o ) { return false; }
}
/** Creates a new instance of Test_Predicates
*/
public PredicatesTest( String test ) {
super(test);
}
public void testIsNull() {
Predicate p = new IsNull();
assertTrue( p.eval(null) );
assertTrue( !p.eval(new Object()) );
}
public void testIsSame() {
Object o1 = new Object();
Object o2 = new Object();
Predicate p = new IsSame(o1);
assertTrue( p.eval(o1) );
assertTrue( !p.eval(o2) );
}
public void testIsEqual() {
Integer i1 = new Integer(1);
Integer i2 = new Integer(2);
Predicate p = new IsEqual(i1);
assertTrue( p.eval(i1) );
assertTrue( p.eval( new Integer(1) ) );
assertTrue( !p.eval(i2) );
}
public void testIsGreaterThan() {
Predicate p = new IsGreaterThan( new Integer(1) );
assertTrue( !p.eval( new Integer(0) ) );
assertTrue( !p.eval( new Integer(1) ) );
assertTrue( p.eval( new Integer(2) ) );
}
public void testIsLessThan() {
Predicate p = new IsLessThan( new Integer(1) );
assertTrue( p.eval( new Integer(0) ) );
assertTrue( !p.eval( new Integer(1) ) );
assertTrue( !p.eval( new Integer(2) ) );
}
public void testIsAnything() {
Predicate p = new IsAnything();
assertTrue( p.eval(null) );
assertTrue( p.eval( new Object() ) );
}
public void testIsInstanceOf() {
Predicate p = new IsInstanceOf( Number.class );
assertTrue( p.eval( new Integer(1) ) );
assertTrue( p.eval( new Double(1.0) ) );
assertTrue( !p.eval("a string") );
assertTrue( !p.eval(null) );
}
public void testIsNot() {
Predicate p = new IsNot( new True() );
assertTrue( !p.eval(null) );
assertTrue( !p.eval( new Object() ) );
}
public void testAnd() {
Object o = new Object();
assertTrue( new And( new True(), new True() ).eval(o) );
assertTrue( !new And( new False(), new True() ).eval(o) );
assertTrue( !new And( new True(), new False() ).eval(o) );
assertTrue( !new And( new False(), new False() ).eval(o) );
}
public void testOr() {
Object o = new Object();
assertTrue( new Or( new True(), new True() ).eval(o) );
assertTrue( new Or( new False(), new True() ).eval(o) );
assertTrue( new Or( new True(), new False() ).eval(o) );
assertTrue( !new Or( new False(), new False() ).eval(o) );
}
public void testIsEventFrom() {
Object o = new Object();
EventObject ev = new EventObject(o);
EventObject ev2 = new EventObject( new Object() );
Predicate p = new IsEventFrom(o);
assertTrue( p.eval(ev) );
assertTrue( "p should eval to false for an event not from o",
!p.eval(ev2) );
assertTrue( "p should eval to false for objects that are not events",
!p.eval(o) );
}
private static class DerivedEvent extends EventObject {
public DerivedEvent( Object source ) {
super(source);
}
}
public void testIsEventSubtypeFrom() {
Object o = new Object();
DerivedEvent good_ev = new DerivedEvent(o);
DerivedEvent wrong_source = new DerivedEvent(new Object());
EventObject wrong_type = new EventObject(o);
EventObject wrong_source_and_type = new EventObject(new Object());
Predicate p = new IsEventFrom( DerivedEvent.class, o );
assertTrue( p.eval(good_ev) );
assertTrue( "p should eval to false for an event not from o",
!p.eval(wrong_source) );
assertTrue( "p should eval to false for an event of the wrong type",
!p.eval(wrong_type) );
assertTrue( "p should eval to false for an event of the wrong type "+
"and from the wrong source",
!p.eval(wrong_source_and_type) );
}
public void testIsCloseTo() {
Predicate p = new IsCloseTo( 1.0, 0.5 );
assertTrue( p.eval( new Double(1.0) ) );
assertTrue( p.eval( new Double(0.5) ) );
assertTrue( p.eval( new Double(1.5) ) );
assertTrue( p.eval( new Float(1.0) ) );
assertTrue( p.eval( new Integer(1) ) );
assertTrue( "number too large", !p.eval( new Double(2.0) ) );
assertTrue( "number too small", !p.eval( new Double(0.0) ) );
try {
p.eval("wrong type");
fail("ClassCastException expected for wrong type of argument");
}
catch( ClassCastException ex ) {
// expected
}
}
}
--- Test_Predicates.java DELETED ---
|