com.gargoylesoftware.base.testing
Class TestUtil

java.lang.Object
  extended bycom.gargoylesoftware.base.testing.TestUtil

public class TestUtil
extends Object

Utility methods dealing with JUnit testing.

Version:
$Revision: 1.7 $
Author:
Mike Bowler

Method Summary
static boolean appearsEqual(Object a, Object b)
          Return true if the two objects appear to be equal.
static void assertAppearsEqual(String message, Object a, Object b)
          Assert that a and b appear equal.
static void assertAppearsNotEqual(String message, Object a, Object b)
          Assert that a and b do not appear equal.
static void assertNotNull(String fieldName, Object fieldValue)
          Verify that the specified value is not null.
static Object copyBySerialization(Object object)
          Copy an object by serializing it into a buffer and then deserializing it again.
static void testClone(Object object, boolean checkEquality)
          The the clone() method on an object.
static Object testSerialization(Object object)
          Same as testSerialization(object, true).
static Object testSerialization(Object object, boolean checkEquality)
          Serialize the specified object to a stream and then deserialize it again.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

testSerialization

public static Object testSerialization(Object object,
                                       boolean checkEquality)
                                throws IOException
Serialize the specified object to a stream and then deserialize it again. This tests the following things:
  1. Ensures that the original and reconstructed objects are equal.
  2. The object can be serialized

Parameters:
object - The object to test
checkEquality - True if the original and copy should be equal according to the semantics of the equals() method.
Returns:
The copy.
Throws:
IOException - If an error occcurs during serialization.

testSerialization

public static Object testSerialization(Object object)
                                throws IOException
Same as testSerialization(object, true). Provided as a convenience as the equality check is usually wanted.

Parameters:
object - The object to test
Returns:
The copy.
Throws:
IOException - If an error occcurs during serialization.

copyBySerialization

public static Object copyBySerialization(Object object)
                                  throws IOException
Copy an object by serializing it into a buffer and then deserializing it again.

Parameters:
object - The original.
Returns:
The copy.
Throws:
IOException - If an error occcurs during serialization.

testClone

public static void testClone(Object object,
                             boolean checkEquality)
                      throws IllegalAccessException,
                             InvocationTargetException
The the clone() method on an object.

Parameters:
object - The original object to clone.
checkEquality - True if the original and copy are to be compared for equality after the clone().
Throws:
IllegalAccessException - If we do not have authority to call the clone() method.
InvocationTargetException - If an exception is thrown during the processing of the clone() method

assertAppearsEqual

public static void assertAppearsEqual(String message,
                                      Object a,
                                      Object b)
Assert that a and b appear equal. See appearsEqual(Object,Object) for an explanation of "appears"

Parameters:
message - The message to display if the assert fails.
a - The first object to compare
b - The second object to compare

assertAppearsNotEqual

public static void assertAppearsNotEqual(String message,
                                         Object a,
                                         Object b)
Assert that a and b do not appear equal. See appearsEqual(Object,Object) for an explanation of "appears"

Parameters:
message - The message to display if the assert fails.
a - The first object to compare
b - The second object to compare

appearsEqual

public static boolean appearsEqual(Object a,
                                   Object b)
Return true if the two objects appear to be equal. Some objects cannot be compared for equality because they don't implement either the equals method or the Comparable interface. An example would be the Event objects used by AWT and Swing.

This method will attempt to determine if the two objects are equal by calling all the public accessor methods on the objects and performing equals checks on the results.

If an exception is thrown during the invocation of any of the getXX() methods then that method will be ignored for the purpose of considering equality.

Parameters:
a - The first object to be compared
b - The second object to be compared
Returns:
True if the two objects appear to be the same.

assertNotNull

public static final void assertNotNull(String fieldName,
                                       Object fieldValue)
                                throws DetailedNullPointerException
Verify that the specified value is not null. If it is then throw an exception

Parameters:
fieldName - The name of the field to check
fieldValue - The value of the field to check
Throws:
DetailedNullPointerException - If fieldValue is null


Copyright © 1998-2005 Gargoyle Software Inc.. All Rights Reserved.