package sft; import sft.javalang.parser.HelperJavaParser; import sft.junit.*; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class Helpers { public ArrayList<Helper> helpers = new ArrayList<Helper>(); public void add(Helper helper) { helpers.add(helper); } public void runBeforeScenario(ScenarioRunner scenarioRunner, SftNotifier runner) { for (Helper helper : helpers) { new ContextRunner(scenarioRunner,helper.beforeScenario).run(runner); } } public void runAfterScenario(ScenarioRunner scenarioRunner, SftNotifier runner) { for (Helper helper : helpers) { new ContextRunner(scenarioRunner,helper.afterScenario).run(runner); } } public Fixture getFixture(String methodName) { for (Helper fixturesHelper : helpers) { for (Fixture fixture : fixturesHelper.fixtures) { if (methodName.endsWith("." + fixture.method.getName())) { return fixture; } } } return null; } public ArrayList<String> getDisplayedContext() { ArrayList<String> contexts = new ArrayList<String>(); for (Helper fixturesHelper : helpers) { contexts.addAll(fixturesHelper.displayedContext.getText()); } return contexts; } public void runBeforeUseCase(UseCaseRunner useCaseRunner, SftNotifier notifier) { for (Helper helper : helpers) { new ContextRunner(useCaseRunner, helper.beforeUseCase).run(notifier); } } public void runAfterUseCase(UseCaseRunner useCaseRunner, SftNotifier notifier) { for (Helper helper : helpers) { new ContextRunner(useCaseRunner, helper.afterUseCase).run(notifier); } } public void completeDescriptionFromSource(DefaultConfiguration configuration) throws IOException { for (Helper helper : helpers) { HelperJavaParser helperJavaParser = new HelperJavaParser(configuration,helper.object); helperJavaParser.feed(helper); } } }