28 private $includeTests = [];
35 private $excludeTests = [];
51 public function __construct($name, $includeTests, $excludeTests, $hooks)
54 $this->includeTests = $includeTests;
55 $this->excludeTests = $excludeTests;
56 $this->hooks = $hooks;
76 return $this->resolveTests($this->includeTests, $this->excludeTests);
88 private function resolveTests($includeTests, $excludeTests)
90 $finalTestList = $includeTests;
91 $matchingTests = array_intersect(array_keys($includeTests), array_keys($excludeTests));
94 foreach ($matchingTests as $testName) {
95 unset($finalTestList[$testName]);
98 if (empty($finalTestList)) {
100 "Current suite configuration for " .
101 $this->
name .
" contains no tests.",
106 return $finalTestList;
117 return !empty($this->hooks);
137 return $this->hooks[
'before'] ??
null;
147 return $this->hooks[
'after'] ??
null;
__construct($name, $includeTests, $excludeTests, $hooks)