| 1 7 8 package test.compliance.openmbean; 9 10 import junit.framework.TestCase; 11 12 import java.io.ByteArrayInputStream; 13 import java.io.ByteArrayOutputStream; 14 import java.io.ObjectInputStream; 15 import java.io.ObjectOutputStream; 16 17 import javax.management.openmbean.ArrayType; 18 import javax.management.openmbean.CompositeType; 19 import javax.management.openmbean.OpenDataException; 20 import javax.management.openmbean.OpenMBeanAttributeInfoSupport; 21 import javax.management.openmbean.OpenType; 22 import javax.management.openmbean.SimpleType; 23 import javax.management.openmbean.TabularDataSupport; 24 import javax.management.openmbean.TabularType; 25 26 31 public class OpenMBeanAttributeInfoSupportTestCase 32 extends TestCase 33 { 34 36 38 40 43 public OpenMBeanAttributeInfoSupportTestCase(String s) 44 { 45 super(s); 46 } 47 48 50 public void testOpenMBeanAttributeInfoSupport() 51 throws Exception 52 { 53 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 54 "name", "description", SimpleType.STRING, true, true, false); 55 assertEquals("name", info.getName()); 56 assertEquals("description", info.getDescription()); 57 assertEquals("java.lang.String", info.getType()); 58 assertEquals(true, info.isWritable()); 59 assertEquals(true, info.isReadable()); 60 assertEquals(false, info.isIs()); 61 62 info = new OpenMBeanAttributeInfoSupport( 63 "name", "description", SimpleType.STRING, true, true, false, "default"); 64 assertEquals("name", info.getName()); 65 assertEquals("description", info.getDescription()); 66 assertEquals("java.lang.String", info.getType()); 67 assertEquals(true, info.isWritable()); 68 assertEquals(true, info.isReadable()); 69 assertEquals(false, info.isIs()); 70 assertEquals("default", info.getDefaultValue()); 71 assertEquals(true, info.hasDefaultValue()); 72 73 info = new OpenMBeanAttributeInfoSupport( 74 "name", "description", SimpleType.STRING, true, true, false, null); 75 assertEquals("name", info.getName()); 76 assertEquals("description", info.getDescription()); 77 assertEquals("java.lang.String", info.getType()); 78 assertEquals(true, info.isWritable()); 79 assertEquals(true, info.isReadable()); 80 assertEquals(false, info.isIs()); 81 assertEquals(null, info.getDefaultValue()); 82 assertEquals(false, info.hasDefaultValue()); 83 84 info = new OpenMBeanAttributeInfoSupport( 85 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), new Integer(2), new Integer(4)); 86 assertEquals("name", info.getName()); 87 assertEquals("description", info.getDescription()); 88 assertEquals("java.lang.Integer", info.getType()); 89 assertEquals(true, info.isWritable()); 90 assertEquals(true, info.isReadable()); 91 assertEquals(false, info.isIs()); 92 assertEquals(new Integer(3), info.getDefaultValue()); 93 assertEquals(new Integer(2), info.getMinValue()); 94 assertEquals(new Integer(4), info.getMaxValue()); 95 96 info = new OpenMBeanAttributeInfoSupport( 97 "name", "description", SimpleType.INTEGER, true, true, false, null, new Integer(2), new Integer(4)); 98 assertEquals("name", info.getName()); 99 assertEquals("description", info.getDescription()); 100 assertEquals("java.lang.Integer", info.getType()); 101 assertEquals(true, info.isWritable()); 102 assertEquals(true, info.isReadable()); 103 assertEquals(false, info.isIs()); 104 assertEquals(null, info.getDefaultValue()); 105 assertEquals(new Integer(2), info.getMinValue()); 106 assertEquals(new Integer(4), info.getMaxValue()); 107 108 info = new OpenMBeanAttributeInfoSupport( 109 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), null, new Integer(4)); 110 assertEquals("name", info.getName()); 111 assertEquals("description", info.getDescription()); 112 assertEquals("java.lang.Integer", info.getType()); 113 assertEquals(true, info.isWritable()); 114 assertEquals(true, info.isReadable()); 115 assertEquals(false, info.isIs()); 116 assertEquals(new Integer(3), info.getDefaultValue()); 117 assertEquals(null, info.getMinValue()); 118 assertEquals(new Integer(4), info.getMaxValue()); 119 120 info = new OpenMBeanAttributeInfoSupport( 121 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), new Integer(2), null); 122 assertEquals("name", info.getName()); 123 assertEquals("description", info.getDescription()); 124 assertEquals("java.lang.Integer", info.getType()); 125 assertEquals(true, info.isWritable()); 126 assertEquals(true, info.isReadable()); 127 assertEquals(false, info.isIs()); 128 assertEquals(new Integer(3), info.getDefaultValue()); 129 assertEquals(new Integer(2), info.getMinValue()); 130 assertEquals(null, info.getMaxValue()); 131 132 info = new OpenMBeanAttributeInfoSupport( 133 "name", "description", SimpleType.INTEGER, true, true, false, null, null, new Integer(4)); 134 assertEquals("name", info.getName()); 135 assertEquals("description", info.getDescription()); 136 assertEquals("java.lang.Integer", info.getType()); 137 assertEquals(true, info.isWritable()); 138 assertEquals(true, info.isReadable()); 139 assertEquals(false, info.isIs()); 140 assertEquals(null, info.getDefaultValue()); 141 assertEquals(null, info.getMinValue()); 142 assertEquals(new Integer(4), info.getMaxValue()); 143 144 info = new OpenMBeanAttributeInfoSupport( 145 "name", "description", SimpleType.INTEGER, true, true, false, null, new Integer(2), null); 146 assertEquals("name", info.getName()); 147 assertEquals("description", info.getDescription()); 148 assertEquals("java.lang.Integer", info.getType()); 149 assertEquals(true, info.isWritable()); 150 assertEquals(true, info.isReadable()); 151 assertEquals(false, info.isIs()); 152 assertEquals(null, info.getDefaultValue()); 153 assertEquals(new Integer(2), info.getMinValue()); 154 assertEquals(null, info.getMaxValue()); 155 156 info = new OpenMBeanAttributeInfoSupport( 157 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), null, null); 158 assertEquals("name", info.getName()); 159 assertEquals("description", info.getDescription()); 160 assertEquals("java.lang.Integer", info.getType()); 161 assertEquals(true, info.isWritable()); 162 assertEquals(true, info.isReadable()); 163 assertEquals(false, info.isIs()); 164 assertEquals(new Integer(3), info.getDefaultValue()); 165 assertEquals(null, info.getMinValue()); 166 assertEquals(null, info.getMaxValue()); 167 168 info = new OpenMBeanAttributeInfoSupport( 169 "name", "description", SimpleType.INTEGER, true, true, false, null, null, null); 170 assertEquals("name", info.getName()); 171 assertEquals("description", info.getDescription()); 172 assertEquals("java.lang.Integer", info.getType()); 173 assertEquals(true, info.isWritable()); 174 assertEquals(true, info.isReadable()); 175 assertEquals(false, info.isIs()); 176 assertEquals(null, info.getDefaultValue()); 177 assertEquals(null, info.getMinValue()); 178 assertEquals(null, info.getMaxValue()); 179 180 info = new OpenMBeanAttributeInfoSupport( 181 "name", "description", SimpleType.STRING, true, true, false, "default", 182 new Object[] { "legal1", "legal2", "default" }); 183 assertEquals("name", info.getName()); 184 assertEquals("description", info.getDescription()); 185 assertEquals("java.lang.String", info.getType()); 186 assertEquals(true, info.isWritable()); 187 assertEquals(true, info.isReadable()); 188 assertEquals(false, info.isIs()); 189 assertEquals("default", info.getDefaultValue()); 190 assertEquals(3, info.getLegalValues().size()); 191 assertTrue("legal1 should be a legal value", info.getLegalValues().contains("legal1")); 192 assertTrue("legal2 should be a legal value", info.getLegalValues().contains("legal2")); 193 assertTrue("default should be a legal value", info.getLegalValues().contains("default")); 194 195 info = new OpenMBeanAttributeInfoSupport( 196 "name", "description", SimpleType.STRING, true, true, false, null, 197 new Object[] { "legal1", "legal2", "default" }); 198 assertEquals("name", info.getName()); 199 assertEquals("description", info.getDescription()); 200 assertEquals("java.lang.String", info.getType()); 201 assertEquals(true, info.isWritable()); 202 assertEquals(true, info.isReadable()); 203 assertEquals(false, info.isIs()); 204 assertEquals(null, info.getDefaultValue()); 205 assertEquals(3, info.getLegalValues().size()); 206 assertTrue("legal1 should be a legal value", info.getLegalValues().contains("legal1")); 207 assertTrue("legal2 should be a legal value", info.getLegalValues().contains("legal2")); 208 assertTrue("default should be a legal value", info.getLegalValues().contains("default")); 209 210 info = new OpenMBeanAttributeInfoSupport( 211 "name", "description", SimpleType.STRING, true, true, false, "default", null); 212 assertEquals("name", info.getName()); 213 assertEquals("description", info.getDescription()); 214 assertEquals("java.lang.String", info.getType()); 215 assertEquals(true, info.isWritable()); 216 assertEquals(true, info.isReadable()); 217 assertEquals(false, info.isIs()); 218 assertEquals("default", info.getDefaultValue()); 219 assertEquals(null, info.getLegalValues()); 220 221 info = new OpenMBeanAttributeInfoSupport( 222 "name", "description", SimpleType.STRING, true, true, false, null, null); 223 assertEquals("name", info.getName()); 224 assertEquals("description", info.getDescription()); 225 assertEquals("java.lang.String", info.getType()); 226 assertEquals(true, info.isWritable()); 227 assertEquals(true, info.isReadable()); 228 assertEquals(false, info.isIs()); 229 assertEquals(null, info.getDefaultValue()); 230 assertEquals(null, info.getLegalValues()); 231 } 232 233 public void testOpenType() 234 throws Exception 235 { 236 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 237 "name", "description", SimpleType.STRING, true, true, false); 238 assertEquals(SimpleType.STRING, info.getOpenType()); 239 } 240 241 public void testHas() 242 throws Exception 243 { 244 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 245 "name", "description", SimpleType.STRING, true, true, false, "default"); 246 assertEquals(true, info.hasDefaultValue()); 247 248 info = new OpenMBeanAttributeInfoSupport( 249 "name", "description", SimpleType.STRING, true, true, false, null); 250 assertEquals(false, info.hasDefaultValue()); 251 252 info = new OpenMBeanAttributeInfoSupport( 253 "name", "description", SimpleType.INTEGER, true, true, false, null, new Integer(3), null); 254 assertEquals(true, info.hasMinValue()); 255 256 info = new OpenMBeanAttributeInfoSupport( 257 "name", "description", SimpleType.INTEGER, true, true, false, null, null, null); 258 assertEquals(false, info.hasMinValue()); 259 260 info = new OpenMBeanAttributeInfoSupport( 261 "name", "description", SimpleType.INTEGER, true, true, false, null, null, new Integer(3)); 262 assertEquals(true, info.hasMaxValue()); 263 264 info = new OpenMBeanAttributeInfoSupport( 265 "name", "description", SimpleType.INTEGER, true, true, false, null, null, null); 266 assertEquals(false, info.hasMaxValue()); 267 268 info = new OpenMBeanAttributeInfoSupport( 269 "name", "description", SimpleType.INTEGER, true, true, false, null, new Object[] { new Integer(3) }); 270 assertEquals(true, info.hasLegalValues()); 271 272 info = new OpenMBeanAttributeInfoSupport( 273 "name", "description", SimpleType.INTEGER, true, true, false, null, null); 274 assertEquals(false, info.hasLegalValues()); 275 } 276 277 public void testIsValue() 278 throws Exception 279 { 280 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 281 "name", "description", SimpleType.STRING, true, true, false); 282 assertTrue("String should be a value", info.isValue("string")); 283 assertTrue("Integer should not be a value", info.isValue(new Integer(3)) == false); 284 assertTrue("Null should not be a value", info.isValue(null) == false); 285 } 286 287 public void testIsWritable() 288 throws Exception 289 { 290 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 291 "name", "description", SimpleType.STRING, true, true, false); 292 assertEquals(true, info.isWritable()); 293 info = new OpenMBeanAttributeInfoSupport( 294 "name", "description", SimpleType.STRING, true, false, false); 295 assertEquals(false, info.isWritable()); 296 } 297 298 public void testIsReadable() 299 throws Exception 300 { 301 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 302 "name", "description", SimpleType.STRING, true, true, false); 303 assertEquals(true, info.isReadable()); 304 info = new OpenMBeanAttributeInfoSupport( 305 "name", "description", SimpleType.STRING, false, true, false); 306 assertEquals(false, info.isReadable()); 307 } 308 309 public void testIsIs() 310 throws Exception 311 { 312 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 313 "name", "description", SimpleType.BOOLEAN, true, true, true); 314 assertEquals(true, info.isIs()); 315 info = new OpenMBeanAttributeInfoSupport( 316 "name", "description", SimpleType.STRING, true, true, false); 317 assertEquals(false, info.isIs()); 318 } 319 320 public void testEquals() 321 throws Exception 322 { 323 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 324 "name", "description", SimpleType.STRING, true, true, false); 325 326 assertTrue("Null should not be equal", info.equals(null) == false); 327 assertTrue("Only OpenMBeanAttributeInfo should be equal", info.equals(new Object()) == false); 328 329 OpenMBeanAttributeInfoSupport info2 = new OpenMBeanAttributeInfoSupport( 330 "name", "description", SimpleType.STRING, true, true, false); 331 332 assertTrue("Different instances of the same data are equal", info.equals(info2)); 333 assertTrue("Different instances of the same data are equal", info2.equals(info)); 334 335 info2 = new OpenMBeanAttributeInfoSupport( 336 "name", "description2", SimpleType.STRING, true, true, false); 337 338 assertTrue("Different instances with different descriptions are equal", info.equals(info2)); 339 assertTrue("Different instances with different descritpions are equal", info2.equals(info)); 340 341 info2 = new OpenMBeanAttributeInfoSupport( 342 "name2", "description", SimpleType.STRING, true, true, false); 343 344 assertTrue("Instances with different names are not equal", info.equals(info2) == false); 345 assertTrue("Instances with different names are not equal", info2.equals(info) == false); 346 347 info2 = new OpenMBeanAttributeInfoSupport( 348 "name", "description", SimpleType.INTEGER, true, true, false); 349 350 assertTrue("Instances with different types are not equal", info.equals(info2) == false); 351 assertTrue("Instances with different types are not equal", info2.equals(info) == false); 352 353 info2 = new OpenMBeanAttributeInfoSupport( 354 "name", "description", SimpleType.INTEGER, false, true, false); 355 356 assertTrue("Instances with different read are not equal", info.equals(info2) == false); 357 assertTrue("Instances with different read are not equal", info2.equals(info) == false); 358 359 info2 = new OpenMBeanAttributeInfoSupport( 360 "name", "description", SimpleType.INTEGER, true, false, false); 361 362 assertTrue("Instances with different write are not equal", info.equals(info2) == false); 363 assertTrue("Instances with different write are not equal", info2.equals(info) == false); 364 365 info2 = new OpenMBeanAttributeInfoSupport( 366 "name", "description", SimpleType.BOOLEAN, true, true, true); 367 info2 = new OpenMBeanAttributeInfoSupport( 368 "name", "description", SimpleType.BOOLEAN, true, true, true); 369 370 assertTrue("Instances with different write are not equal", info.equals(info2) == false); 371 assertTrue("Instances with different write are not equal", info2.equals(info) == false); 372 373 info = new OpenMBeanAttributeInfoSupport( 374 "name", "description", SimpleType.INTEGER, true, true, false, 375 new Integer(3), new Integer(2), new Integer(4)); 376 info2 = new OpenMBeanAttributeInfoSupport( 377 "name", "description", SimpleType.INTEGER, true, true, false, 378 new Integer(2), new Integer(2), new Integer(4)); 379 380 assertTrue("Instances with different default values are not equal", info.equals(info2) == false); 381 assertTrue("Instances with different default values are not equal", info2.equals(info) == false); 382 383 info = new OpenMBeanAttributeInfoSupport( 384 "name", "description", SimpleType.INTEGER, true, true, false, 385 new Integer(3), new Integer(2), new Integer(4)); 386 info2 = new OpenMBeanAttributeInfoSupport( 387 "name", "description", SimpleType.INTEGER, true, true, false, 388 new Integer(2), null, new Integer(4)); 389 390 assertTrue("Instances with different default values are not equal", info.equals(info2) == false); 391 assertTrue("Instances with different default values are not equal", info2.equals(info) == false); 392 393 info = new OpenMBeanAttributeInfoSupport( 394 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3)); 395 info2 = new OpenMBeanAttributeInfoSupport( 396 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3)); 397 398 assertTrue("Different instances of the same default value are equal", info.equals(info2)); 399 assertTrue("Different instances of the same default value are equal", info2.equals(info)); 400 401 info = new OpenMBeanAttributeInfoSupport( 402 "name", "description", SimpleType.INTEGER, true, true, false, 403 null, new Integer(2), null); 404 info2 = new OpenMBeanAttributeInfoSupport( 405 "name", "description", SimpleType.INTEGER, true, true, false, 406 null, new Integer(2), null); 407 408 assertTrue("Different instances of the same minimum are equal", info.equals(info2)); 409 assertTrue("Different instances of the same minimum are equal", info2.equals(info)); 410 411 info = new OpenMBeanAttributeInfoSupport( 412 "name", "description", SimpleType.INTEGER, true, true, false, 413 null, null, new Integer(2)); 414 info2 = new OpenMBeanAttributeInfoSupport( 415 "name", "description", SimpleType.INTEGER, true, true, false, 416 null, null, new Integer(2)); 417 418 assertTrue("Different instances of the same maximum are equal", info.equals(info2)); 419 assertTrue("Different instances of the same maximum are equal", info2.equals(info)); 420 421 info = new OpenMBeanAttributeInfoSupport( 422 "name", "description", SimpleType.INTEGER, true, true, false, 423 new Integer(3), new Integer(2), new Integer(4)); 424 info2 = new OpenMBeanAttributeInfoSupport( 425 "name", "description", SimpleType.INTEGER, true, true, false, 426 new Integer(3), new Integer(1), new Integer(4)); 427 428 assertTrue("Instances with different minimums are not equal", info.equals(info2) == false); 429 assertTrue("Instances with different minimums are not equal", info2.equals(info) == false); 430 431 info = new OpenMBeanAttributeInfoSupport( 432 "name", "description", SimpleType.INTEGER, true, true, false, 433 new Integer(3), new Integer(2), new Integer(4)); 434 info2 = new OpenMBeanAttributeInfoSupport( 435 "name", "description", SimpleType.INTEGER, true, true, false, 436 new Integer(3), null, new Integer(4)); 437 438 assertTrue("Instances with different minimums are not equal", info.equals(info2) == false); 439 assertTrue("Instances with different minimums are not equal", info2.equals(info) == false); 440 441 info = new OpenMBeanAttributeInfoSupport( 442 "name", "description", SimpleType.INTEGER, true, true, false, 443 new Integer(3), new Integer(2), new Integer(4)); 444 info2 = new OpenMBeanAttributeInfoSupport( 445 "name", "description", SimpleType.INTEGER, true, true, false, 446 new Integer(3), new Integer(2), new Integer(5)); 447 448 assertTrue("Instances with different maximums are not equal", info.equals(info2) == false); 449 assertTrue("Instances with different maximums are not equal", info2.equals(info) == false); 450 451 info = new OpenMBeanAttributeInfoSupport( 452 "name", "description", SimpleType.INTEGER, true, true, false, 453 new Integer(3), new Integer(2), new Integer(4)); 454 info2 = new OpenMBeanAttributeInfoSupport( 455 "name", "description", SimpleType.INTEGER, true, true, false, 456 new Integer(3), new Integer(2), null); 457 458 assertTrue("Instances with different maximums are not equal", info.equals(info2) == false); 459 assertTrue("Instances with different maximums are not equal", info2.equals(info) == false); 460 461 info = new OpenMBeanAttributeInfoSupport( 462 "name", "description", SimpleType.INTEGER, true, true, false, 463 null, new Object[] { new Integer(2), new Integer(3) }); 464 info2 = new OpenMBeanAttributeInfoSupport( 465 "name", "description", SimpleType.INTEGER, true, true, false, 466 null, new Object[] { new Integer(2), new Integer(3) }); 467 468 assertTrue("Different instances of the same legal values are equal", info.equals(info2)); 469 assertTrue("Different instances of the same legal values are equal", info2.equals(info)); 470 471 info = new OpenMBeanAttributeInfoSupport( 472 "name", "description", SimpleType.INTEGER, true, true, false, 473 null, new Object[] { new Integer(2), new Integer(3) }); 474 info2 = new OpenMBeanAttributeInfoSupport( 475 "name", "description", SimpleType.INTEGER, true, true, false, 476 null, new Object[] { new Integer(2), new Integer(4) }); 477 478 assertTrue("Different instances with different legal values are equal", info.equals(info2) == false); 479 assertTrue("Different instances with different legal values are equal", info2.equals(info) == false); 480 481 info = new OpenMBeanAttributeInfoSupport( 482 "name", "description", SimpleType.INTEGER, true, true, false, 483 null, new Object[] { new Integer(2), new Integer(3) }); 484 info2 = new OpenMBeanAttributeInfoSupport( 485 "name", "description", SimpleType.INTEGER, true, true, false, 486 null, new Object[] { new Integer(2) }); 487 488 assertTrue("Different instances with different legal values are equal", info.equals(info2) == false); 489 assertTrue("Different instances with different legal values are equal", info2.equals(info) == false); 490 491 info = new OpenMBeanAttributeInfoSupport( 492 "name", "description", SimpleType.INTEGER, true, true, false, 493 null, new Object[] { new Integer(2), new Integer(3) }); 494 info2 = new OpenMBeanAttributeInfoSupport( 495 "name", "description", SimpleType.INTEGER, true, true, false, 496 null, null); 497 498 assertTrue("Different instances with different legal values are equal", info.equals(info2) == false); 499 assertTrue("Different instances with different legal values are equal", info2.equals(info) == false); 500 } 501 502 public void testHashCode() 503 throws Exception 504 { 505 506 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 507 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), new Integer(2), new Integer(4)); 508 int myHash = "name".hashCode() + SimpleType.INTEGER.hashCode() + 509 new Integer(3).hashCode() + new Integer(2).hashCode() + new Integer(4).hashCode(); 510 assertEquals(myHash, info.hashCode()); 511 info = new OpenMBeanAttributeInfoSupport( 512 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), 513 new Object[] { new Integer(2), new Integer(3), new Integer(4) } ); 514 myHash = "name".hashCode() + SimpleType.INTEGER.hashCode() + 515 new Integer(3).hashCode() + new Integer(2).hashCode() + new Integer(3).hashCode() + new Integer(4).hashCode(); 516 assertEquals(myHash, info.hashCode()); 517 } 518 519 public void testToString() 520 throws Exception 521 { 522 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 523 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), new Integer(2), new Integer(4)); 524 525 String toString = info.toString(); 526 assertTrue("info.toString() should contain the name", toString.indexOf("name") != -1); 527 assertTrue("info.toString() should contain the simple type", 528 toString.indexOf(SimpleType.INTEGER.toString()) != -1); 529 assertTrue("info.toString() should contain the default value", 530 toString.indexOf(new Integer(3).toString()) != -1); 531 assertTrue("info.toString() should contain the minimum value", 532 toString.indexOf(new Integer(2).toString()) != -1); 533 assertTrue("info.toString() should contain the maximum value", 534 toString.indexOf(new Integer(4).toString()) != -1); 535 536 info = new OpenMBeanAttributeInfoSupport( 537 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), 538 new Object[] { new Integer(2), new Integer(3), new Integer(4) } ); 539 assertTrue("info.toString() should contain the legal value 2", 540 toString.indexOf(new Integer(2).toString()) != -1); 541 assertTrue("info.toString() should contain the legal value 3", 542 toString.indexOf(new Integer(3).toString()) != -1); 543 assertTrue("info.toString() should contain the legal value 4", 544 toString.indexOf(new Integer(4).toString()) != -1); 545 } 546 547 public void testSerialization() 548 throws Exception 549 { 550 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 551 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), new Integer(2), new Integer(4)); 552 553 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 555 ObjectOutputStream oos = new ObjectOutputStream(baos); 556 oos.writeObject(info); 557 558 ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); 560 ObjectInputStream ois = new ObjectInputStream(bais); 561 Object result = ois.readObject(); 562 563 assertEquals(info, result); 564 565 info = new OpenMBeanAttributeInfoSupport( 566 "name", "description", SimpleType.INTEGER, true, true, false, new Integer(3), 567 new Object[] { new Integer(2), new Integer(3), new Integer(4) } ); 568 569 baos = new ByteArrayOutputStream(); 571 oos = new ObjectOutputStream(baos); 572 oos.writeObject(info); 573 574 bais = new ByteArrayInputStream(baos.toByteArray()); 576 ois = new ObjectInputStream(bais); 577 result = ois.readObject(); 578 579 assertEquals(info, result); 580 } 581 582 public void testErrors1() 583 throws Exception 584 { 585 boolean caught = false; 586 try 587 { 588 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 589 null, "description", SimpleType.INTEGER, true, true, false); 590 } 591 catch (IllegalArgumentException e) 592 { 593 caught = true; 594 } 595 if (caught == false) 596 fail("Expected IllegalArgumentException for null name"); 597 598 caught = false; 599 try 600 { 601 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 602 "", "description", SimpleType.INTEGER, true, true, false); 603 } 604 catch (IllegalArgumentException e) 605 { 606 caught = true; 607 } 608 if (caught == false) 609 fail("Expected IllegalArgumentException for an empty name"); 610 611 caught = false; 612 try 613 { 614 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 615 "name", null, SimpleType.INTEGER, true, true, false); 616 } 617 catch (IllegalArgumentException e) 618 { 619 caught = true; 620 } 621 if (caught == false) 622 fail("Expected IllegalArgumentException for null description"); 623 624 caught = false; 625 try 626 { 627 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 628 "name", "", SimpleType.INTEGER, true, true, false); 629 } 630 catch (IllegalArgumentException e) 631 { 632 caught = true; 633 } 634 if (caught == false) 635 fail("Expected IllegalArgumentException for an empty description"); 636 637 caught = false; 638 try 639 { 640 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 641 "", "description", SimpleType.INTEGER, true, true, false); 642 } 643 catch (IllegalArgumentException e) 644 { 645 caught = true; 646 } 647 if (caught == false) 648 fail("Expected IllegalArgumentException for an empty name"); 649 650 caught = false; 651 try 652 { 653 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 654 "name", "description", null, true, true, false); 655 } 656 catch (IllegalArgumentException e) 657 { 658 caught = true; 659 } 660 if (caught == false) 661 fail("Expected IllegalArgumentException for null simple type"); 662 } 663 664 public void testErrors2() 665 throws Exception 666 { 667 boolean caught = false; 668 try 669 { 670 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 671 null, "description", SimpleType.INTEGER, true, true, false, new Integer(3)); 672 } 673 catch (IllegalArgumentException e) 674 { 675 caught = true; 676 } 677 if (caught == false) 678 fail("Expected IllegalArgumentException for null name"); 679 680 caught = false; 681 try 682 { 683 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 684 "", "description", SimpleType.INTEGER, true, true, false, new Integer(3)); 685 } 686 catch (IllegalArgumentException e) 687 { 688 caught = true; 689 } 690 if (caught == false) 691 fail("Expected IllegalArgumentException for an empty name"); 692 693 caught = false; 694 try 695 { 696 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 697 "name", null, SimpleType.INTEGER, true, true, false, new Integer(3)); 698 } 699 catch (IllegalArgumentException e) 700 { 701 caught = true; 702 } 703 if (caught == false) 704 fail("Expected IllegalArgumentException for null description"); 705 706 caught = false; 707 try 708 { 709 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 710 "name", "", SimpleType.INTEGER, true, true, false, new Integer(3)); 711 } 712 catch (IllegalArgumentException e) 713 { 714 caught = true; 715 } 716 if (caught == false) 717 fail("Expected IllegalArgumentException for an empty description"); 718 719 caught = false; 720 try 721 { 722 OpenMBeanAttributeInfoSupport info = new OpenMBeanAttributeInfoSupport( 723 "", "description", SimpleType.INTEGER, true, true, false, new Integer(3)); 724 <
|