package com.carrotsearch.junitbenchmarks; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import org.dom4j.Document; import org.junit.*; import org.junit.rules.MethodRule; /** * Creates a benchmark with two measured methods. One of the test methods has an * overridden number of warmup and benchmark rounds. */ public class TestXmlConsumer { private static final File resultsFile = new File("results.xml"); private static XMLConsumer xmlConsumer; @BeforeClass public static void checkFile() throws IOException { if (resultsFile.exists()) assertTrue(resultsFile.delete()); xmlConsumer = new XMLConsumer(resultsFile); } @Rule public MethodRule benchmarkRun = new BenchmarkRule(xmlConsumer); @Test public void testMethodA() { // empty. } @Test public void testMethodB() { // empty. } @AfterClass public static void verify() throws Exception { xmlConsumer.close(); assertTrue(resultsFile.exists()); final Document d = new org.dom4j.io.SAXReader().read(resultsFile); assertEquals(2, d.selectNodes("//testname").size()); assertTrue(resultsFile.delete()); } }