// Tests ---------------------------------------------------------------------
public void testOpenMBeanAttributeInfoSupport()
throws Exception
{
OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.STRING, true, true, false);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.String", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.STRING, true, true, false, "default");
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.String", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals("default", info.getDefaultValue());
assertEquals(true, info.hasDefaultValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.STRING, true, true, false, (String) null);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.String", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(null, info.getDefaultValue());
assertEquals(false, info.hasDefaultValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), new Integer(2), new Integer(4));
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(new Integer(3), info.getDefaultValue());
assertEquals(new Integer(2), info.getMinValue());
assertEquals(new Integer(4), info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, null, new Integer(2), new Integer(4));
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(null, info.getDefaultValue());
assertEquals(new Integer(2), info.getMinValue());
assertEquals(new Integer(4), info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), null, new Integer(4));
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(new Integer(3), info.getDefaultValue());
assertEquals(null, info.getMinValue());
assertEquals(new Integer(4), info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), new Integer(2), null);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(new Integer(3), info.getDefaultValue());
assertEquals(new Integer(2), info.getMinValue());
assertEquals(null, info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, null, null, new Integer(4));
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(null, info.getDefaultValue());
assertEquals(null, info.getMinValue());
assertEquals(new Integer(4), info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, null, new Integer(2), null);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(null, info.getDefaultValue());
assertEquals(new Integer(2), info.getMinValue());
assertEquals(null, info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), null, null);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(new Integer(3), info.getDefaultValue());
assertEquals(null, info.getMinValue());
assertEquals(null, info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.INTEGER, true, true, false, null, null, null);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.Integer", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(null, info.getDefaultValue());
assertEquals(null, info.getMinValue());
assertEquals(null, info.getMaxValue());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.STRING, true, true, false, "default",
new String[] { "legal1", "legal2", "default" });
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.String", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals("default", info.getDefaultValue());
assertEquals(3, info.getLegalValues().size());
assertTrue("legal1 should be a legal value", info.getLegalValues().contains("legal1"));
assertTrue("legal2 should be a legal value", info.getLegalValues().contains("legal2"));
assertTrue("default should be a legal value", info.getLegalValues().contains("default"));
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.STRING, true, true, false, null,
new String[] { "legal1", "legal2", "default" });
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.String", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(null, info.getDefaultValue());
assertEquals(3, info.getLegalValues().size());
assertTrue("legal1 should be a legal value", info.getLegalValues().contains("legal1"));
assertTrue("legal2 should be a legal value", info.getLegalValues().contains("legal2"));
assertTrue("default should be a legal value", info.getLegalValues().contains("default"));
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.STRING, true, true, false, "default", null);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.String", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals("default", info.getDefaultValue());
assertEquals(null, info.getLegalValues());
info = new OpenMBeanAttributeInfoSupport(
"name", "description", SimpleType.STRING, true, true, false, null, null);
assertEquals("name", info.getName());
assertEquals("description", info.getDescription());
assertEquals("java.lang.String", info.getType());
assertEquals(true, info.isWritable());
assertEquals(true, info.isReadable());
assertEquals(false, info.isIs());
assertEquals(null, info.getDefaultValue());
assertEquals(null, info.getLegalValues());
}