Class TestUtil

java.lang.Object
com.gargoylesoftware.base.testing.TestUtil

public class TestUtil extends Object
Utility methods dealing with JUnit testing.
Version:
$Revision: 1.6 $
  • Constructor Details

    • TestUtil

      private TestUtil()
  • Method Details

    • 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
    • checkEquality

      private static void checkEquality(Object original, Object copy)
      Assert that the two objects are equal
      Parameters:
      original - The original object
      copy - The object to compare against
    • 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.
    • isEqual

      private static boolean isEqual(Object a, Object b)
    • 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