public void testNewPlatformMXBeanProxy_GarbageCollectorMXBean()
throws Exception {
List<GarbageCollectorMXBean> allBeans = ManagementFactory
.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean mb : allBeans) {
GarbageCollectorMXBean proxy = ManagementFactory
.newPlatformMXBeanProxy(ManagementFactory
.getPlatformMBeanServer(),
"java.lang:type=GarbageCollector,name="
+ mb.getName(),
GarbageCollectorMXBean.class);
assertEquals(mb.getName(), proxy.getName());
assertEquals(mb.isValid(), proxy.isValid());
assertEquals(mb.getCollectionCount(), proxy.getCollectionCount());
String[] poolNames1 = mb.getMemoryPoolNames();
String[] poolNames2 = proxy.getMemoryPoolNames();
assertEquals(poolNames1.length, poolNames2.length);
for (int i = 0; i < poolNames1.length; i++) {
String string = poolNames1[i];
assertEquals(poolNames1[i], poolNames2[i]);
}