User: ejort   
  Date: 02/02/16 10:14:58

  Modified:    src/main/test/compliance/varia VariaSUITE.java
  Added:       src/main/test/compliance/varia ObjectInstanceTestCase.java
  Log:
  Object Instance Tests
  
  Revision  Changes    Path
  1.2       +1 -0      jmx/src/main/test/compliance/varia/VariaSUITE.java
  
  Index: VariaSUITE.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/test/compliance/varia/VariaSUITE.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- VariaSUITE.java   8 Feb 2002 21:20:26 -0000       1.1
  +++ VariaSUITE.java   16 Feb 2002 18:14:57 -0000      1.2
  @@ -38,6 +38,7 @@
       TestSuite suite = new TestSuite("Various Sundry tests");
   
       suite.addTest(new TestSuite(NotificationFilterSupportTestCase.class));
  +    suite.addTest(new TestSuite(ObjectInstanceTestCase.class));
   
       return suite;
     }
  
  
  
  1.1                  jmx/src/main/test/compliance/varia/ObjectInstanceTestCase.java
  
  Index: ObjectInstanceTestCase.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.varia;
  
  import java.io.ByteArrayInputStream;
  import java.io.ByteArrayOutputStream;
  import java.io.IOException;
  import java.io.ObjectInputStream;
  import java.io.ObjectOutputStream;
  
  import junit.framework.TestCase;
  
  import javax.management.MalformedObjectNameException;
  import javax.management.ObjectInstance;
  import javax.management.ObjectName;
  
  /**
   * Object Instance tests.<p>
   *
   * NOTE: The tests use String literals to ensure the comparisons are
   *       not performed on object references.
   *
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
   */
  public class ObjectInstanceTestCase
    extends TestCase
  {
    // Attributes ----------------------------------------------------------------
  
    // Constructor ---------------------------------------------------------------
  
    /**
     * Construct the test
     */
    public ObjectInstanceTestCase(String s)
    {
      super(s);
    }
  
    // Tests ---------------------------------------------------------------------
  
    /**
     * Test String constructor.
     */
    public void testStringConstructor()
    {
      ObjectInstance instance = null;
  
      try
      {
        instance = new ObjectInstance("test:type=test", "ClassName");
      }
      catch (Exception e)
      {
        fail(e.toString());
      }
  
      // Did it work?
      assertEquals("test:type=test", instance.getObjectName().toString());
      assertEquals("ClassName", instance.getClassName());
    }
  
    /**
     * Test ObjectName constructor.
     */
    public void testObjectNameConstructor()
    {
      ObjectInstance instance = null;
      ObjectName objectName = null;
  
      try
      {
        objectName = new ObjectName(":type=test");
        instance = new ObjectInstance(objectName, "ClassName");
      }
      catch (Exception e)
      {
        fail(e.toString());
      }
  
      // Did it work?
      assertEquals(objectName, instance.getObjectName());
      assertEquals("ClassName", instance.getClassName());
    }
  
    /**
     * Test Equals.
     */
    public void testEquals()
    {
      ObjectInstance instanceTest = null;
      ObjectInstance instanceSame = null;
      ObjectInstance instanceDiffName = null;
      ObjectInstance instanceDiffClass = null;
  
      try
      {
        instanceTest = new ObjectInstance("test:type=test", "ClassName");
        instanceSame = new ObjectInstance("test:type=test", "ClassName");
        instanceDiffName = new ObjectInstance("test:type=different", "ClassName");
        instanceDiffClass = new ObjectInstance("test:type=test", "Another");
      }
      catch (Exception e)
      {
        fail(e.toString());
      }
  
      assertEquals(instanceTest, instanceTest);
      assertEquals(instanceTest, instanceSame);
      if (instanceTest.equals(instanceDiffName))
        fail("ObjectInstance.equals broken for object name");
      if (instanceTest.equals(instanceDiffClass))
        fail("ObjectInstance.equals broken for class name");
    }
  
    /**
     * Test errors.
     */
    public void testErrors()
    {
      boolean caught = false;
      try
      {
        new ObjectInstance("rubbish", "ClassName");
      }
      catch (MalformedObjectNameException e)
      {
        caught = true;
      }
      catch (Exception e)
      {
        fail(e.toString());
      }
      if (caught == false)
        fail("ObjectInstance(String, String) failed to report malformed object name");
  
      try
      {
        String NULL = null;
        new ObjectInstance(NULL, "ClassName");
      }
      catch (MalformedObjectNameException e)
      {
        caught = true;
      }
      catch (Exception e)
      {
        fail(e.toString());
      }
      if (caught == false)
        fail("ObjectInstance(String, String) failed to report null object name");
    }
  
    /**
     * Test serialization.
     */
    public void testSerialization()
    {
      ObjectInstance original = null;
      ObjectInstance result = null;
      ObjectName objectName = null;
  
      try
      {
        objectName = new ObjectName(":type=test");
        original = new ObjectInstance(objectName, "ClassName");
  
        // Serialize it
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        oos.writeObject(original);
      
        // Deserialize it
        ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
        ObjectInputStream ois = new ObjectInputStream(bais);
        result = (ObjectInstance) ois.readObject();
      }
      catch (Exception e)
      {
        fail(e.toString());
      }
  
      // Did it work?
      assertEquals(original, result);
      assertEquals(objectName, result.getObjectName());
      assertEquals("ClassName", result.getClassName());
    }
  }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to