package org.gridkit.jvmtools.gcmon; import java.lang.management.ManagementFactory; import java.util.ArrayList; import java.util.List; import org.gridkit.jvmtool.gcmon.GarbageCollectionEvent; import org.gridkit.jvmtool.gcmon.GarbageCollectionEventWriter; import org.gridkit.jvmtool.gcmon.GcEventPoller; import org.gridkit.jvmtool.gcmon.SimpleGcEventEncoder; import org.junit.Assert; import org.junit.Test; public class GcEventPollerTest { private List<GarbageCollectionEvent> events = new ArrayList<GarbageCollectionEvent>(); private SimpleGcEventEncoder encoder = new SimpleGcEventEncoder(new GarbageCollectionEventWriter() { @Override public void storeGcEvent(GarbageCollectionEvent event) { events.add(event); } public void close() {}; }); @Test public void capture_gc_sample() { GcEventPoller poller = new GcEventPoller(ManagementFactory.getPlatformMBeanServer(), encoder); events.clear(); System.gc(); Assert.assertTrue("No events", events.isEmpty()); poller.run(); Assert.assertFalse("One or more events excepted", events.isEmpty()); } }