package ru.yandex.qatools.allure.experimental.testdata; import ru.yandex.qatools.allure.events.ClearStepStorageEvent; import ru.yandex.qatools.allure.events.ClearTestStorageEvent; import ru.yandex.qatools.allure.events.StepEvent; import ru.yandex.qatools.allure.events.StepFinishedEvent; import ru.yandex.qatools.allure.events.StepStartedEvent; import ru.yandex.qatools.allure.events.TestCaseEvent; import ru.yandex.qatools.allure.events.TestCaseFinishedEvent; import ru.yandex.qatools.allure.events.TestCaseStartedEvent; import ru.yandex.qatools.allure.events.TestSuiteEvent; import ru.yandex.qatools.allure.events.TestSuiteFinishedEvent; import ru.yandex.qatools.allure.experimental.LifecycleListener; import java.util.HashMap; import java.util.concurrent.atomic.AtomicInteger; /** * @author Dmitry Baev charlie@yandex-team.ru * Date: 04.06.14 */ public class SimpleListener extends LifecycleListener { private final HashMap<EventType, AtomicInteger> counts = new HashMap<>(); public SimpleListener() { for (EventType type : EventType.values()) { counts.put(type, new AtomicInteger(0)); } } @Override public void fire(StepStartedEvent event) { counts.get(EventType.STEP_STARTED_EVENT).incrementAndGet(); } @Override public void fire(StepEvent event) { counts.get(EventType.STEP_EVENT).incrementAndGet(); } @Override public void fire(StepFinishedEvent event) { counts.get(EventType.STEP_FINISHED_EVENT).incrementAndGet(); } @Override public void fire(TestCaseStartedEvent event) { counts.get(EventType.TESTCASE_STARTED_EVENT).incrementAndGet(); } @Override public void fire(TestCaseEvent event) { counts.get(EventType.TESTCASE_EVENT).incrementAndGet(); } @Override public void fire(TestCaseFinishedEvent event) { counts.get(EventType.TESTCASE_FINISHED_EVENT).incrementAndGet(); } @Override public void fire(TestSuiteEvent event) { counts.get(EventType.TESTSUITE_EVENT).incrementAndGet(); } @Override public void fire(TestSuiteFinishedEvent event) { counts.get(EventType.TESTSUITE_FINISHED_EVENT).incrementAndGet(); } @Override public void fire(ClearStepStorageEvent event) { counts.get(EventType.CLEAR_STEP_STORAGE_EVENT).incrementAndGet(); } @Override public void fire(ClearTestStorageEvent event) { counts.get(EventType.CLEAR_TEST_STORAGE_EVENT).incrementAndGet(); } public int get(EventType eventType) { return counts.containsKey(eventType) ? counts.get(eventType).get() : 0; } public enum EventType { STEP_STARTED_EVENT, STEP_EVENT, STEP_FINISHED_EVENT, TESTCASE_STARTED_EVENT, TESTCASE_EVENT, TESTCASE_FINISHED_EVENT, TESTSUITE_EVENT, TESTSUITE_FINISHED_EVENT, CLEAR_STEP_STORAGE_EVENT, CLEAR_TEST_STORAGE_EVENT } }