package uk.co.acuminous.julez.event.handler; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; import uk.co.acuminous.julez.event.handler.ResultMonitor; import uk.co.acuminous.julez.scenario.ScenarioEventFactory; public class ResultMonitorTest { private ScenarioEventFactory scenarioEventFactory; @Before public void init() { scenarioEventFactory = new ScenarioEventFactory(); } @Test public void countsPasses() { ResultMonitor resultMonitor = new ResultMonitor(); assertEquals(0, resultMonitor.getPassCount()); resultMonitor.onEvent(scenarioEventFactory.pass()); assertEquals(1, resultMonitor.getPassCount()); resultMonitor.onEvent(scenarioEventFactory.fail()); resultMonitor.onEvent(scenarioEventFactory.error()); assertEquals(1, resultMonitor.getPassCount()); } @Test public void countsFailures() { ResultMonitor resultMonitor = new ResultMonitor(); assertEquals(0, resultMonitor.getFailureCount()); resultMonitor.onEvent(scenarioEventFactory.fail()); assertEquals(1, resultMonitor.getFailureCount()); resultMonitor.onEvent(scenarioEventFactory.pass()); resultMonitor.onEvent(scenarioEventFactory.error()); assertEquals(1, resultMonitor.getFailureCount()); } @Test public void countsErrors() { ResultMonitor resultMonitor = new ResultMonitor(); assertEquals(0, resultMonitor.getErrorCount()); resultMonitor.onEvent(scenarioEventFactory.error()); assertEquals(1, resultMonitor.getErrorCount()); resultMonitor.onEvent(scenarioEventFactory.pass()); resultMonitor.onEvent(scenarioEventFactory.fail()); assertEquals(1, resultMonitor.getErrorCount()); } @Test public void calculatesPercentage() { ResultMonitor resultMonitor = new ResultMonitor(); assertEquals(0, resultMonitor.getPercentage()); resultMonitor.onEvent(scenarioEventFactory.fail()); assertEquals(0, resultMonitor.getPercentage()); resultMonitor.onEvent(scenarioEventFactory.pass()); assertEquals(50, resultMonitor.getPercentage()); resultMonitor.onEvent(scenarioEventFactory.fail()); resultMonitor.onEvent(scenarioEventFactory.fail()); assertEquals(25, resultMonitor.getPercentage()); resultMonitor.onEvent(scenarioEventFactory.error()); assertEquals(20, resultMonitor.getPercentage()); } }