mx4j/src/test/test/javax/management/modelmbean DescriptorSupportTest.java,1.17,1.18

Simone Bordet <[email protected]> Tue, 07 Sep 2004 15:00:16 +0000
Newsgroups gmane.comp.java.mx4j.cvs
Message-ID <[email protected]>
Update of /cvsroot/mx4j/mx4j/src/test/test/javax/management/modelmbean
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11771/src/test/test/javax/management/modelmbean

Modified Files:
	DescriptorSupportTest.java 
Log Message:
Fix and test for bug #938635: DescriptorSupport does not preserve case

Index: DescriptorSupportTest.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/test/test/javax/management/modelmbean/DescriptorSupportTest.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** DescriptorSupportTest.java	4 Sep 2004 15:44:21 -0000	1.17
--- DescriptorSupportTest.java	7 Sep 2004 15:00:13 -0000	1.18
***************
*** 9,12 ****
--- 9,16 ----
  package test.javax.management.modelmbean;
  
+ import java.io.ByteArrayInputStream;
+ import java.io.ByteArrayOutputStream;
+ import java.io.ObjectInputStream;
+ import java.io.ObjectOutputStream;
  import java.util.ArrayList;
  import java.util.Arrays;
***************
*** 164,167 ****
--- 168,220 ----
     }
  
+    public void testCaseSensitivityPreserved() throws Exception
+    {
+       String[] names = {"Name", "DescriptorType"};
+       String[] values = {"test", "mbean"};
+       DescriptorSupport descriptor = new DescriptorSupport(names, values);
+ 
+       // Check case insensitivity on get
+       String value = (String)descriptor.getFieldValue("name");
+       assertNotNull(value);
+       assertEquals(value, values[0]);
+       value = (String)descriptor.getFieldValue("descriptorType");
+       assertNotNull(value);
+       assertEquals(value, values[1]);
+ 
+       // Be sure case is preserved
+       String[] fieldNames = descriptor.getFieldNames();
+       assertNotNull(fieldNames);
+       assertEquals(fieldNames.length, 2);
+       if (!fieldNames[0].equals(names[0]) && !fieldNames[0].equals(names[1])) fail();
+       if (!fieldNames[1].equals(names[0]) && !fieldNames[1].equals(names[1])) fail();
+ 
+       // Check serialization works
+       ByteArrayOutputStream baos = new ByteArrayOutputStream();
+       ObjectOutputStream oos = new ObjectOutputStream(baos);
+       oos.writeObject(descriptor);
+       oos.close();
+       ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+       ObjectInputStream ois = new ObjectInputStream(bais);
+       DescriptorSupport newDescriptor = (DescriptorSupport)ois.readObject();
+       value = (String)newDescriptor.getFieldValue("name");
+       assertNotNull(value);
+       assertEquals(value, values[0]);
+       // Be sure case is preserved
+       fieldNames = newDescriptor.getFieldNames();
+       assertNotNull(fieldNames);
+       assertEquals(fieldNames.length, 2);
+       if (!fieldNames[0].equals(names[0]) && !fieldNames[0].equals(names[1])) fail();
+       if (!fieldNames[1].equals(names[0]) && !fieldNames[1].equals(names[1])) fail();
+ 
+       // Check that removeField() really removes the field, no matter case sensitivity
+       descriptor.removeField("name");
+       value = (String)descriptor.getFieldValue("name");
+       assertNull(value);
+       fieldNames = descriptor.getFieldNames();
+       assertNotNull(fieldNames);
+       assertEquals(fieldNames.length, 1);
+       assertEquals(fieldNames[0], names[1]);
+    }
+ 
     public void testDefaultFieldValuesSize() throws Exception
     {



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click