/**
  * {@inheritdoc}
  */
 public function test(Environment $env, FeatureNode $feature, Scenario $scenario, $skip)
 {
     $isolatedEnvironment = $this->envManager->isolateEnvironment($env, $scenario);
     $setup = $this->decoratedTester->setUp($isolatedEnvironment, $feature, $scenario, $skip);
     $localSkip = !$setup->isSuccessful() || $skip;
     $testResult = $this->decoratedTester->test($isolatedEnvironment, $feature, $scenario, $localSkip);
     $teardown = $this->decoratedTester->tearDown($isolatedEnvironment, $feature, $scenario, $localSkip, $testResult);
     $integerResult = new IntegerTestResult($testResult->getResultCode());
     return new TestWithSetupResult($setup, $integerResult, $teardown);
 }
 /**
  * {@inheritdoc}
  */
 public function test(Environment $env, FeatureNode $feature, OutlineNode $outline, $skip = false)
 {
     $results = array();
     foreach ($outline->getExamples() as $example) {
         $setup = $this->scenarioTester->setUp($env, $feature, $example, $skip);
         $localSkip = !$setup->isSuccessful() || $skip;
         $testResult = $this->scenarioTester->test($env, $feature, $example, $localSkip);
         $teardown = $this->scenarioTester->tearDown($env, $feature, $example, $localSkip, $testResult);
         $integerResult = new IntegerTestResult($testResult->getResultCode());
         $results[] = new TestWithSetupResult($setup, $integerResult, $teardown);
     }
     return new TestResults($results);
 }
 /**
  * {@inheritdoc}
  */
 public function test(Environment $env, FeatureNode $feature, Scenario $scenario, $skip)
 {
     return $this->baseTester->test($env, $feature, $scenario, $skip);
 }