package uk.co.acuminous.julez.test; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.SECONDS; import java.util.concurrent.TimeUnit; import uk.co.acuminous.julez.scenario.BaseScenario; import uk.co.acuminous.julez.util.ConcurrencyUtils; // TODO Make fluent public class SleepingScenario extends BaseScenario { private final long duration; public SleepingScenario() { this(1, SECONDS); } public SleepingScenario(long duration, TimeUnit units) { this.duration = MILLISECONDS.convert(duration, units); } @Override public void run() { handler.onEvent(eventFactory.begin()); if (ConcurrencyUtils.sleep(duration, MILLISECONDS)) { handler.onEvent(eventFactory.pass()); } else { handler.onEvent(eventFactory.error()); } handler.onEvent(eventFactory.end()); } }