package org.stagemonitor.core.instrument;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.File;
import com.codahale.metrics.annotation.Timed;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.stagemonitor.core.Stagemonitor;
public class FileExportingListenerTest {
@Before
public void setUp() throws Exception {
Stagemonitor.init();
}
@After
public void tearDown() throws Exception {
for (String exportedClass : FileExportingListener.exportedClasses) {
new File(exportedClass).delete();
}
}
@Test
public void testExportIncludedClasses() throws Exception {
new ExportMe();
assertEquals(1, FileExportingListener.exportedClasses.size());
assertTrue(FileExportingListener.exportedClasses.get(0).contains(ExportMe.class.getName()));
final File exportedClass = new File(FileExportingListener.exportedClasses.get(0));
assertTrue(exportedClass.exists());
}
@Test
public void testDoNotExportNotIncludedClasses() throws Exception {
new DoNotExportMe();
assertEquals(0, FileExportingListener.exportedClasses.size());
}
private static class ExportMe {
@Timed
public void test() {
}
}
private static class DoNotExportMe {}
}