mx4j/src/test/test/javax/management/modelmbean DescriptorSupportTest.java,1.15,1.16

Simone Bordet <[email protected]>
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-serv16956/src/test/test/javax/management/modelmbean

Modified Files:
	DescriptorSupportTest.java 
Log Message:
Cosmetics: clean up of imports and unused variables and dummy code

Index: DescriptorSupportTest.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/test/test/javax/management/modelmbean/DescriptorSupportTest.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** DescriptorSupportTest.java	20 Nov 2003 22:06:36 -0000	1.15
--- DescriptorSupportTest.java	22 Mar 2004 13:28:44 -0000	1.16
***************
*** 15,19 ****
  import java.util.List;
  import java.util.Set;
- 
  import javax.management.Descriptor;
  import javax.management.RuntimeOperationsException;
--- 15,18 ----
***************
*** 21,31 ****
  import javax.management.modelmbean.XMLParseException;
  
- import junit.framework.Assert;
  import test.MX4JTestCase;
  
  /**
-  *
-  *
-  * @see
   * @author <a href="mailto:[email protected]">Sandeep Pathak</a>
   * @version $Revision$
--- 20,26 ----
***************
*** 34,512 ****
  public class DescriptorSupportTest extends MX4JTestCase
  {
  
! 	/** Creates a new instance of DescriptorSupportTest */
! 	public DescriptorSupportTest(String s)
! 	{
! 		super(s);
! 	}
  
! 	public void setUp() throws Exception
! 	{
! 		super.setUp();
! 	}
  
! 	public void tearDown() throws Exception
! 	{
! 		super.tearDown();
! 	}
  
! 	public void testValid() throws Exception
! 	{
! 		// Create a valid Descriptor object
! 		String[] attributes = {"name=mytest", "descriptorType=MBean", "role=constructor"};
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(attributes);
! 		}
! 		catch (RuntimeOperationsException ex)
! 		{
! 			fail("Unable to create Descriptor support object with attributes: " + attributes);
! 		}
  
! 		// Try a different constructor
! 		String[] names = {"name", "descriptorType", "role", "persistPolicy", "persistPeriod"};
! 		String[] values = {"mytest", "MBean", "constructor", "Never", "1"};
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(names, values);
! 		}
! 		catch (RuntimeOperationsException ex)
! 		{
! 			fail("Unable to create Descriptor support object");
! 		}
  
! 		// Create an invalid Descriptor object. Check that persistPolicy
! 		// if not case sensitive
! 		names = new String[] {"name", "descriptorType", "persistPolicy"};
! 		values = new String[] {"mytest", "MBean", "never"};
  
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(names, values);
! 		}
! 		catch (RuntimeOperationsException ex)
! 		{
! 			// No exception was thrown i.e. error
! 			fail("Unable to create Descriptor support object with never as persistPolicy");
! 		}
! 	}
  
! 	public void testInvalid() throws Exception
! 	{
! 		// Create an invalid Descriptor object. Check persist policy
! 		String[] names = {"name", "descriptorType", "role", "persistPolicy"};
! 		String[] values = {"mytest", "MBean", "constructor", "Something"};
  
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(names, values);
  
! 			// No exception was thrown i.e. error
! 			fail("Descriptor support object created with invalid attributes");
! 		}
! 		catch (RuntimeOperationsException ex) {}
  
! 		// Create an invalid Descriptor object. Check persistPeriod
! 		// Persist period should be bigger or equal than -1
! 		names = new String [] {"name", "descriptorType", "persistPolicy", "persistPeriod"};
! 		values = new String [] {"mytest", "MBean", "Never", "-2"};
  
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(names, values);
  
! 			// No exception was thrown i.e. error
! 			fail("Descriptor support object created with invalid persistPeriod");
! 		}
! 		catch (RuntimeOperationsException ex) {}
  
! 		// Create an invalid Descriptor object. Check visiblity
! 		// visibility should be between 1 and 4
! 		names = new String [] {"name", "descriptorType", "visibility"};
! 		values = new String [] {"mytest", "MBean", "0"};
  
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(names, values);
  
! 			// No exception was thrown i.e. error
! 			fail("Descriptor support object created with invalid visiblity");
! 		}
! 		catch (RuntimeOperationsException ex) {}
  
! 		// Create an invalid Descriptor object. Check visiblity
! 		// visibility should be between 1 and 4
! 		names = new String [] {"name", "descriptorType", "visibility"};
! 		values = new String [] {"mytest", "MBean", "5"};
  
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(names, values);
  
! 			// No exception was thrown i.e. error
! 			fail("Descriptor support object created with invalid visiblity");
! 		}
! 		catch (RuntimeOperationsException ex) {}
! 	}
  
! 	public void testIsValid() throws Exception
! 	{
! 		// Test for bug #686306
! 		String[] names = {"name", "descriptorType","persistPolicy", "persistPeriod"};
! 		String[] values = {"test", "mbean", "AlwaYs", "-1"};
  
! 		DescriptorSupport ds = new DescriptorSupport(names, values);
  
! 		assertTrue(ds.isValid());
! 	}
  
! 	public void testServerityField() throws Exception
! 	{
! 		// Test for bug #744423 and #775742
! 		String[] names = {"name", "descriptorType","severity"};
! 		String[] values = {"test", "mbean", "0"};
  
! 		try
! 		{
! 			DescriptorSupport ds = new DescriptorSupport(names, values);
! 			assertTrue(ds.isValid());
  
! 			names = new String[] {"name", "descriptorType","severity"};
! 			values = new String[] {"test", "mbean", "6"};
  
! 			ds = new DescriptorSupport(names, values);
! 			assertTrue(ds.isValid());
! 		}
! 		catch (RuntimeOperationsException e)
! 		{
! 			fail("Should not throw an exception");
! 		}
  
  
! 	}
  
! 	public void testCaseInsensitiveFieldNames() throws Exception {
! 		String[] fields = { "descriptorType", "myField" };
! 		Object[] values = { "MBean", "top secret" };
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 		Assert.assertTrue(
! 			"Expecting 'descriptorType' value to be 'mbean'",
! 			((String)ds.getFieldValue("DESCRIPTORTYPE")).compareTo("MBean") == 0);
! 		Assert.assertTrue(
! 			"Expecting 'myField' value to be 'top secret'",
! 			((String)ds.getFieldValue("MYfIELD")).compareTo("top secret") == 0);
  
! 		fields = new String[] { "name", "descriptorType", "deleteMe" };
! 		values = new String[] { "testCaseInsensitiveFieldNames", "MBean", "nothing of consequence" };
! 		ds = new DescriptorSupport(fields, values);
! 		ds.removeField("DELETEmE");
! 		String[] fieldnames = ds.getFields();
! 		List fieldlist = new ArrayList();
! 		for (int i = 0; i < fieldnames.length; i++) { fieldlist.add(fieldnames[i]); }
! 		int fieldcount = fieldnames.length;
! 		Assert.assertTrue(
! 			"Expecting 'deleteMe' to be gone",
! 			fieldcount == 2 && fieldlist.contains("deleteme") == false);
! 	}
! 	
! 	public void testCaseInsensitiveFieldValues() throws Exception {
! 		String[] fields = { "descriptorType", "persistPolicy", "log" };
! 		String[] values = { "mBEAN", "oNuPDATE", "TRUE" };
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 	}
  
! 	public void testDefaultFieldValuesSize() throws Exception {
! 		DescriptorSupport ds = new DescriptorSupport();
! 		Object[] fields = ds.getFieldValues(null);
! 		assertTrue("Expecting 0 length array", fields.length == 0);
! 	}
  
! 	public void testNullDescriptorCtorParam() throws Exception
! 	{
! 		DescriptorSupport ds = new DescriptorSupport((DescriptorSupport) null);
! 		assertTrue(
! 			"Expecting the descriptor to be empty",
! 			ds.getFields().length == 0);
! 		assertFalse("Expecting the descriptor to be invalid", ds.isValid());
! 	}
  
! 	public void testNullStringCtorParam() throws Exception {
! 		try 
! 		{
! 			DescriptorSupport ds = new DescriptorSupport((String) null);
! 			fail("Expecting RuntimeOperationsException");
! 		}
! 		catch (RuntimeOperationsException x)
! 		{
! 			if (!(x.getTargetException() instanceof IllegalArgumentException))
! 			{ 
! 				fail("Target exception should be IllegalArgumentException");
! 			}
! 			assertTrue(true);	// success
! 		}
! 	}
  
! 	public void testNullStringArrayCtorParm() throws Exception
! 	{
! 		String[] nullfields = null;
! 		DescriptorSupport ds = new DescriptorSupport(nullfields);
! 		Object[] fields = ds.getFieldValues(null);
! 		assertTrue("Expecting 0 length array", fields.length == 0);
! 	}
  
! 	public void testToXMLString() throws Exception 
! 	{
! 		String[] fields = { "wine", "vineyard", "year", "price"};
! 		Object[] values = { "Amarone", "Allegrini", "1996", new Integer(90) };
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 		String xml = ds.toXMLString();
! 		assertTrue("Descriptor from XML != Descriptor", descriptorsEqual(ds, (new DescriptorSupport(xml))));
! 					
! 		fields = new String[] {
! 			"wine=Amarone", 
! 			"vineyard=Allegrini",
! 			"year=1996"
! 		};
! 		ds = new DescriptorSupport(fields);
! 		xml = ds.toXMLString();
! 		assertTrue("Descriptor from XML != Descriptor", descriptorsEqual(ds, (new DescriptorSupport(xml))));
! 	}
! 	
! 	public void testEmptyDescriptorToXMLString() throws Exception
! 	{
! 		DescriptorSupport ds = new DescriptorSupport();
! 		assertTrue("DescriptorSupport is null", ds != null);
! 		String xml = ds.toXMLString();
! 		assertTrue("Unexpected xml: " + xml, xml.compareTo("<Descriptor></Descriptor>") == 0);
! 	}
! 	
! 	public void testGetFieldsUnknownName()
! 	{
! 		String[] fields = { "wine", "vineyard", "year" };
! 		String[] values = { "Amarone", "Allegrini", "1996" };
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 		Object fv = ds.getFieldValue("price");
! 		assertTrue("field value not null", fv == null);
! 		fields = new String[] { "wine", "vineyard", "year", "price" };
! 		Object[] fvs = ds.getFieldValues(fields);
! 		assertTrue("wrong number of values", fvs.length == fields.length);
! 		assertTrue("expecting null price value", fvs[3] == null);
! 	}
! 	
! 	public void testGetFieldsEmptyArray()
! 	{
! 		String[] fields = { "wine", "vineyard", "year" };
! 		String[] values = { "Amarone", "Allegrini", "1996" };
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 		Object[] fvs = ds.getFieldValues(new String[0]);
! 		assertTrue("Expecting empty array", fvs.length == 0);
! 	}
  
! 	public void testRemoveField()
! 	{
! 		String[] fields = { "wine", "vineyard", "year", "price" };
! 		Object[] values = { "Amarone", "Allegrini", "1996", new Integer(90)};
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 		assertTrue(
! 			"Expecting " + fields.length + " names",
! 			ds.getFieldNames().length == fields.length);
! 		ds.removeField("price");
! 		assertTrue(
! 			"Expecting " + (fields.length - 1) + " names",
! 			ds.getFieldNames().length == (fields.length - 1));
! 	}
! 	
! 	public void testRemoveNonexistentField()
! 	{
! 		String[] fields = { "wine", "vineyard", "year" };
! 		String[] values = { "Amarone", "Allegrini", "1996" };
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 		try
! 		{
! 			ds.removeField("price");
! 		}
! 		catch (Exception x)
! 		{
! 			fail("No exceptions should be thrown");
! 		}
! 	}
  
! 	public void testRemoveNullField()
! 	{
! 		String[] fields = { "wine", "vineyard", "year" };
! 		String[] values = { "Amarone", "Allegrini", "1996" };
! 		DescriptorSupport ds = new DescriptorSupport(fields, values);
! 		try
! 		{
! 			ds.removeField(null);
! 		}
! 		catch (Exception x)
! 		{
! 			fail("No exceptions should be thrown");
! 		}
! 	}
  
! 	public void testXMLStringCtor() throws Exception
! 	{
! 		StringBuffer xmldescriptor = new StringBuffer();
! 		xmldescriptor.append("<Descriptor>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"bogus\" ");
! 		xmldescriptor.append("value=\"xyzzy\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("</Descriptor>");
! 		DescriptorSupport ds = new DescriptorSupport(xmldescriptor.toString());
! 		String xml = ds.toXMLString();
! 		assertTrue(
! 			"Descriptor from XML != Descriptor",
! 			descriptorsEqual(ds, (new DescriptorSupport(xml))));
! 	}
! 	
! 	public void testXMLSpecialStringCtor() throws Exception
! 	{
! 		String[] fields = { "name=Lawrence", "nickname=(Larry)" };
! 		DescriptorSupport ds = new DescriptorSupport(fields);
! 		assertTrue("DescriptorSupport from fields is null", ds != null);
! 		String xml = ds.toXMLString();
! 		DescriptorSupport xmlds = new DescriptorSupport(xml);
! 		assertTrue("DescriptorSupport from XML is null", xmlds != null);
! 		assertTrue("Descriptors not equal", descriptorsEqual(ds, xmlds));
! 	}
! 	
! 	public void testXMLPrimitiveCtor() throws Exception
! 	{
! 		StringBuffer xmldescriptor = new StringBuffer();
! 		xmldescriptor.append("<Descriptor>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"boolean\" ");
! 		xmldescriptor.append("value=\"(java.lang.Boolean/true)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"byte\" ");
! 		xmldescriptor.append("value=\"(java.lang.Byte/127)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"char\" ");
! 		xmldescriptor.append("value=\"(java.lang.Character/k)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"short\" ");
! 		xmldescriptor.append("value=\"(java.lang.Short/4096)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"int\" ");
! 		xmldescriptor.append("value=\"(java.lang.Integer/16384)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"long\" ");
! 		xmldescriptor.append("value=\"(java.lang.Long/123456789)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"float\" ");
! 		xmldescriptor.append("value=\"(java.lang.Float/3.14)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"double\" ");
! 		xmldescriptor.append("value=\"(java.lang.Double/3.14e-10)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"null\" ");
! 		xmldescriptor.append("value=\"(null)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("</Descriptor>");
! 		DescriptorSupport ds = new DescriptorSupport(xmldescriptor.toString());
! 		String xml = ds.toXMLString();
! 		assertTrue(
! 			"Descriptor from XML != Descriptor",
! 			descriptorsEqual(ds, (new DescriptorSupport(xml))));
! 	}
! 	
! 	public void testXMLClassCtor() throws Exception
! 	{
! 		StringBuffer xmldescriptor = new StringBuffer();
! 		xmldescriptor.append("<Descriptor>");
! 		xmldescriptor.append("<field ");
! 		xmldescriptor.append("name=\"date\" ");
! 		xmldescriptor.append(
! 			"value=\"(java.net.URL/http://mx4j.sourceforge.net)\"");
! 		xmldescriptor.append(">");
! 		xmldescriptor.append("</field>");
! 		xmldescriptor.append("</Descriptor>");
! 		DescriptorSupport ds = new DescriptorSupport(xmldescriptor.toString());
! 		String xml = ds.toXMLString();
! 		assertTrue(
! 			"Descriptor from XML != Descriptor",
! 			descriptorsEqual(ds, (new DescriptorSupport(xml))));
! 	}
! 	
! 	public void testBogusXMLCtor()
! 	{
! 		try
! 		{
! 			Descriptor d = new DescriptorSupport("<Descriptor><field name=</Descriptor>");
! 			fail("Expecting XMLParseException");
! 		}
! 		catch (XMLParseException x)
! 		{
! 			assertTrue(true); // success
! 		}
! 		catch (Exception x)
! 		{
! 			fail("Expecting XMLParseException not: " + x.toString());
! 		}
! 	}
! 	
! 	public void testBogusXMLValueCtor()
! 	{
! 		try
! 		{
! 			StringBuffer xmldescriptor = new StringBuffer();
! 			xmldescriptor.append("<Descriptor>");
! 			xmldescriptor.append("<field ");
! 			xmldescriptor.append("name=\"bogus\" ");
! 			xmldescriptor.append("value=\"(java.lang.Byte/256)\"");
! 			xmldescriptor.append(">");
! 			xmldescriptor.append("</field>");
! 			xmldescriptor.append("</Descriptor>");
! 			Descriptor d = new DescriptorSupport(xmldescriptor.toString());
! 			fail("Expecting XMLParseException");
! 		}
! 		catch (XMLParseException x)
! 		{
! 			assertTrue(true); // success
! 		}
! 		catch (Exception x)
! 		{
! 			fail("Expecting XMLParseException not: " + x.toString());
! 		}		
! 	}
! 	
! 	private boolean descriptorsEqual(Descriptor done, Descriptor dtwo)
! 	{
! 		Set namesone = new HashSet(Arrays.asList(done.getFieldNames()));
! 		Set namestwo = new HashSet(Arrays.asList(dtwo.getFieldNames()));
! 		if (!namesone.equals(namestwo)) return false;
! 		Iterator i = namesone.iterator();
! 		while (i.hasNext())
! 		{	
! 			String field = (String) i.next();
! 			Object vone = done.getFieldValue(field);
! 			Object vtwo = dtwo.getFieldValue(field);
! 			if ((vone == null && vtwo != null) || (vone != null && !vone.equals(vtwo)))
! 			{
! 				return false;
! 			}
! 		}
! 		return true;
! 	}
  }
--- 29,416 ----
  public class DescriptorSupportTest extends MX4JTestCase
  {
+    public DescriptorSupportTest(String s)
+    {
+       super(s);
+    }
  
!    public void testValid() throws Exception
!    {
!       // Create a valid Descriptor object
!       String[] attributes = {"name=mytest", "descriptorType=MBean", "role=constructor"};
!       new DescriptorSupport(attributes);
  
!       // Try a different constructor
!       String[] names = {"name", "descriptorType", "role", "persistPolicy", "persistPeriod"};
!       String[] values = {"mytest", "MBean", "constructor", "Never", "1"};
!       new DescriptorSupport(names, values);
  
!       // Create a valid Descriptor object. Check that persistPolicy's value is not case sensitive
!       names = new String[]{"name", "descriptorType", "persistPolicy"};
!       values = new String[]{"mytest", "MBean", "never"};
  
!       new DescriptorSupport(names, values);
!    }
  
!    public void testInvalid() throws Exception
!    {
!       // Create an invalid Descriptor object. Check persist policy
!       String[] names = {"name", "descriptorType", "role", "persistPolicy"};
!       String[] values = {"mytest", "MBean", "constructor", "Something"};
  
!       try
!       {
!          new DescriptorSupport(names, values);
!          fail("Descriptor support object created with invalid attributes");
!       }
!       catch (RuntimeOperationsException ex)
!       {
!       }
  
!       // Create an invalid Descriptor object. Check persistPeriod
!       // Persist period should be bigger or equal than -1
!       names = new String[]{"name", "descriptorType", "persistPolicy", "persistPeriod"};
!       values = new String[]{"mytest", "MBean", "Never", "-2"};
  
!       try
!       {
!          new DescriptorSupport(names, values);
!          fail("Descriptor support object created with invalid persistPeriod");
!       }
!       catch (RuntimeOperationsException ex)
!       {
!       }
  
!       // Create an invalid Descriptor object. Check visiblity
!       // visibility should be between 1 and 4
!       names = new String[]{"name", "descriptorType", "visibility"};
!       values = new String[]{"mytest", "MBean", "0"};
  
!       try
!       {
!          new DescriptorSupport(names, values);
!          fail("Descriptor support object created with invalid visiblity");
!       }
!       catch (RuntimeOperationsException ex)
!       {
!       }
  
!       // Create an invalid Descriptor object. Check visiblity
!       // visibility should be between 1 and 4
!       names = new String[]{"name", "descriptorType", "visibility"};
!       values = new String[]{"mytest", "MBean", "5"};
  
!       try
!       {
!          new DescriptorSupport(names, values);
!          fail("Descriptor support object created with invalid visiblity");
!       }
!       catch (RuntimeOperationsException ex)
!       {
!       }
!    }
  
!    public void testIsValid() throws Exception
!    {
!       // Test for bug #686306
!       String[] names = {"name", "descriptorType", "persistPolicy", "persistPeriod"};
!       String[] values = {"test", "mbean", "AlwaYs", "-1"};
  
!       DescriptorSupport ds = new DescriptorSupport(names, values);
  
!       assertTrue(ds.isValid());
!    }
  
!    public void testSeverityField() throws Exception
!    {
!       // Test for bug #744423 and #775742
!       String[] names = {"name", "descriptorType", "severity"};
!       String[] values = {"test", "mbean", "0"};
  
!       DescriptorSupport ds = new DescriptorSupport(names, values);
!       assertTrue(ds.isValid());
  
!       names = new String[]{"name", "descriptorType", "severity"};
!       values = new String[]{"test", "mbean", "6"};
  
!       ds = new DescriptorSupport(names, values);
!       assertTrue(ds.isValid());
!    }
  
!    public void testCaseInsensitiveFieldNames() throws Exception
!    {
!       String[] fields = {"descriptorType", "myField"};
!       Object[] values = {"MBean", "top secret"};
!       DescriptorSupport ds = new DescriptorSupport(fields, values);
!       assertEquals("Expecting 'descriptorType' value to be 'mbean'", (String)ds.getFieldValue("DESCRIPTORTYPE"), "MBean");
!       assertEquals("Expecting 'myField' value to be 'top secret'", (String)ds.getFieldValue("MYfIELD"), "top secret");
  
!       fields = new String[]{"name", "descriptorType", "deleteMe"};
!       values = new String[]{"testCaseInsensitiveFieldNames", "MBean", "nothing of consequence"};
!       ds = new DescriptorSupport(fields, values);
!       ds.removeField("DELETEmE");
!       String[] fieldnames = ds.getFields();
!       List fieldlist = new ArrayList();
!       for (int i = 0; i < fieldnames.length; i++) fieldlist.add(fieldnames[i]);
!       int fieldcount = fieldnames.length;
!       assertEquals("Expecting 'deleteMe' to be gone", fieldcount, 2);
!       assertFalse(fieldlist.contains("deleteme"));
!    }
  
!    public void testCaseInsensitiveFieldValues() throws Exception
!    {
!       String[] fields = {"descriptorType", "persistPolicy", "log"};
!       String[] values = {"mBEAN", "oNuPDATE", "TRUE"};
!       new DescriptorSupport(fields, values);
!    }
  
!    public void testDefaultFieldValuesSize() throws Exception
!    {
!       DescriptorSupport ds = new DescriptorSupport();
!       Object[] fields = ds.getFieldValues(null);
!       assertTrue("Expecting 0 length array", fields.length == 0);
!    }
  
!    public void testNullDescriptorConstructorParam() throws Exception
!    {
!       DescriptorSupport ds = new DescriptorSupport((DescriptorSupport)null);
!       assertNotNull(ds.getFields());
!       assertEquals("Expecting the descriptor to be empty", ds.getFields().length, 0);
!       assertFalse("Expecting the descriptor to be invalid", ds.isValid());
!    }
  
!    public void testNullStringConstructorParam() throws Exception
!    {
!       try
!       {
!          new DescriptorSupport((String)null);
!          fail("Expecting RuntimeOperationsException");
!       }
!       catch (RuntimeOperationsException x)
!       {
!          if (!(x.getTargetException() instanceof IllegalArgumentException))
!             fail("Target exception should be IllegalArgumentException");
!       }
!    }
  
!    public void testNullStringArrayCtorParm() throws Exception
!    {
!       String[] nullfields = null;
!       DescriptorSupport ds = new DescriptorSupport(nullfields);
!       Object[] fields = ds.getFieldValues(null);
!       assertEquals("Expecting 0 length array", fields.length, 0);
!    }
  
+    public void testToXMLString() throws Exception
+    {
+       String[] fields = {"wine", "vineyard", "year", "price"};
+       Object[] values = {"Amarone", "Allegrini", "1996", new Integer(90)};
+       DescriptorSupport ds = new DescriptorSupport(fields, values);
+       String xml = ds.toXMLString();
+       assertTrue("Descriptor from XML != Descriptor", descriptorsEqual(ds, (new DescriptorSupport(xml))));
  
!       fields = new String[]{"wine=Amarone", "vineyard=Allegrini", "year=1996"};
!       ds = new DescriptorSupport(fields);
!       xml = ds.toXMLString();
!       assertTrue("Descriptor from XML != Descriptor", descriptorsEqual(ds, (new DescriptorSupport(xml))));
!    }
  
!    public void testEmptyDescriptorToXMLString() throws Exception
!    {
!       DescriptorSupport ds = new DescriptorSupport();
!       String xml = ds.toXMLString();
!       assertEquals("Unexpected xml: " + xml, xml, "<Descriptor></Descriptor>");
!    }
  
!    public void testGetFieldsUnknownName()
!    {
!       String[] fields = {"wine", "vineyard", "year"};
!       String[] values = {"Amarone", "Allegrini", "1996"};
!       DescriptorSupport ds = new DescriptorSupport(fields, values);
!       Object fv = ds.getFieldValue("price");
!       assertNull(fv);
!       fields = new String[]{"wine", "vineyard", "year", "price"};
!       Object[] fvs = ds.getFieldValues(fields);
!       assertEquals("wrong number of values", fvs.length, fields.length);
!       assertNull(fvs[3]);
!    }
  
!    public void testGetFieldsEmptyArray()
!    {
!       String[] fields = {"wine", "vineyard", "year"};
!       String[] values = {"Amarone", "Allegrini", "1996"};
!       DescriptorSupport ds = new DescriptorSupport(fields, values);
!       Object[] fvs = ds.getFieldValues(new String[0]);
!       assertEquals("Expecting empty array", fvs.length, 0);
!    }
  
!    public void testRemoveField()
!    {
!       String[] fields = {"wine", "vineyard", "year", "price"};
!       Object[] values = {"Amarone", "Allegrini", "1996", new Integer(90)};
!       DescriptorSupport ds = new DescriptorSupport(fields, values);
!       assertEquals("Expecting " + fields.length + " names", ds.getFieldNames().length, fields.length);
!       ds.removeField("price");
!       assertEquals("Expecting " + (fields.length - 1) + " names", ds.getFieldNames().length, fields.length - 1);
!    }
  
!    public void testRemoveNonexistentFieldDoesntThrow()
!    {
!       String[] fields = {"wine", "vineyard", "year"};
!       String[] values = {"Amarone", "Allegrini", "1996"};
!       DescriptorSupport ds = new DescriptorSupport(fields, values);
!       ds.removeField("price");
!    }
  
!    public void testRemoveNullField()
!    {
!       String[] fields = {"wine", "vineyard", "year"};
!       String[] values = {"Amarone", "Allegrini", "1996"};
!       DescriptorSupport ds = new DescriptorSupport(fields, values);
!       ds.removeField(null);
!    }
  
!    public void testXMLStringConstructor() throws Exception
!    {
!       StringBuffer xmldescriptor = new StringBuffer();
!       xmldescriptor.append("<Descriptor>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"bogus\" ");
!       xmldescriptor.append("value=\"xyzzy\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("</Descriptor>");
!       DescriptorSupport ds = new DescriptorSupport(xmldescriptor.toString());
!       String xml = ds.toXMLString();
!       assertTrue("Descriptor from XML != Descriptor", descriptorsEqual(ds, (new DescriptorSupport(xml))));
!    }
  
!    public void testXMLSpecialStringConstructor() throws Exception
!    {
!       String[] fields = {"name=Lawrence", "nickname=(Larry)"};
!       DescriptorSupport ds = new DescriptorSupport(fields);
!       String xml = ds.toXMLString();
!       DescriptorSupport xmlds = new DescriptorSupport(xml);
!       assertTrue("Descriptors not equal", descriptorsEqual(ds, xmlds));
!    }
  
!    public void testXMLPrimitiveConstructor() throws Exception
!    {
!       StringBuffer xmldescriptor = new StringBuffer();
!       xmldescriptor.append("<Descriptor>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"boolean\" ");
!       xmldescriptor.append("value=\"(java.lang.Boolean/true)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"byte\" ");
!       xmldescriptor.append("value=\"(java.lang.Byte/127)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"char\" ");
!       xmldescriptor.append("value=\"(java.lang.Character/k)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"short\" ");
!       xmldescriptor.append("value=\"(java.lang.Short/4096)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"int\" ");
!       xmldescriptor.append("value=\"(java.lang.Integer/16384)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"long\" ");
!       xmldescriptor.append("value=\"(java.lang.Long/123456789)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"float\" ");
!       xmldescriptor.append("value=\"(java.lang.Float/3.14)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"double\" ");
!       xmldescriptor.append("value=\"(java.lang.Double/3.14e-10)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"null\" ");
!       xmldescriptor.append("value=\"(null)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("</Descriptor>");
!       DescriptorSupport ds = new DescriptorSupport(xmldescriptor.toString());
!       String xml = ds.toXMLString();
!       assertTrue("Descriptor from XML != Descriptor", descriptorsEqual(ds, (new DescriptorSupport(xml))));
!    }
  
!    public void testXMLClassConstructor() throws Exception
!    {
!       StringBuffer xmldescriptor = new StringBuffer();
!       xmldescriptor.append("<Descriptor>");
!       xmldescriptor.append("<field ");
!       xmldescriptor.append("name=\"date\" ");
!       xmldescriptor.append("value=\"(java.net.URL/http://mx4j.sourceforge.net)\"");
!       xmldescriptor.append(">");
!       xmldescriptor.append("</field>");
!       xmldescriptor.append("</Descriptor>");
!       DescriptorSupport ds = new DescriptorSupport(xmldescriptor.toString());
!       String xml = ds.toXMLString();
!       assertTrue("Descriptor from XML != Descriptor", descriptorsEqual(ds, (new DescriptorSupport(xml))));
!    }
! 
!    public void testBogusXMLConstructor() throws Exception
!    {
!       try
!       {
!          new DescriptorSupport("<Descriptor><field name=</Descriptor>");
!          fail("Expecting XMLParseException");
!       }
!       catch (XMLParseException x)
!       {
!       }
!    }
! 
!    public void testBogusXMLValueCtor() throws Exception
!    {
!       try
!       {
!          StringBuffer xmldescriptor = new StringBuffer();
!          xmldescriptor.append("<Descriptor>");
!          xmldescriptor.append("<field ");
!          xmldescriptor.append("name=\"bogus\" ");
!          xmldescriptor.append("value=\"(java.lang.Byte/256)\"");
!          xmldescriptor.append(">");
!          xmldescriptor.append("</field>");
!          xmldescriptor.append("</Descriptor>");
!          new DescriptorSupport(xmldescriptor.toString());
!          fail("Expecting XMLParseException");
!       }
!       catch (XMLParseException x)
!       {
!       }
!    }
! 
!    private boolean descriptorsEqual(Descriptor done, Descriptor dtwo)
!    {
!       Set namesone = new HashSet(Arrays.asList(done.getFieldNames()));
!       Set namestwo = new HashSet(Arrays.asList(dtwo.getFieldNames()));
!       if (!namesone.equals(namestwo)) return false;
!       Iterator i = namesone.iterator();
!       while (i.hasNext())
!       {
!          String field = (String)i.next();
!          Object vone = done.getFieldValue(field);
!          Object vtwo = dtwo.getFieldValue(field);
!          if ((vone == null && vtwo != null) || (vone != null && !vone.equals(vtwo)))
!          {
!             return false;
!          }
!       }
!       return true;
!    }
  }



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.