package examples.benchmarking;
import java.util.Calendar;
import java.util.TimeZone;
import org.junit.Test;
import uk.co.acuminous.julez.scenario.BaseScenario;
import uk.co.acuminous.julez.scenario.Scenario;
public class CalendarBenchmarkTest extends BenchmarkTestCase {
private int repetitions = 1000000;
@Test
public void benchmarkConstruction() {
benchmark(new BaseScenario() {
@Override public void run() {
Calendar.getInstance();
}
});
System.out.println(String.format("%d x Calendar.getInstance() took %dms", repetitions, durationMonitor.getDuration()));
}
@Test
public void benchmarkRolling() {
benchmark(new BaseScenario() {
private Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Europe/London"));
@Override public void run() {
calendar.roll(Calendar.DAY_OF_MONTH, 10);
}
});
System.out.println(String.format("%d x calendar.roll(DAY_OF_MONTH, 10) took %dms", repetitions, durationMonitor.getDuration()));
}
private void benchmark(Scenario scenario) {
benchmark(scenario, repetitions);
}
}