diff --git a/src/Repositories/DatasetsRepository.php b/src/Repositories/DatasetsRepository.php index 7e48d160..06bfd8db 100644 --- a/src/Repositories/DatasetsRepository.php +++ b/src/Repositories/DatasetsRepository.php @@ -136,43 +136,6 @@ final class DatasetsRepository return $namedData; } - /** - * @return Closure|iterable - */ - private static function getScopedDataset(string $name, string $currentTestFile) - { - $matchingDatasets = array_filter(self::$datasets, function (string $key) use ($name, $currentTestFile) { - [$datasetScope, $datasetName] = explode(self::SEPARATOR, $key); - - if ($name !== $datasetName) { - return false; - } - - if (! str_starts_with($currentTestFile, $datasetScope)) { - return false; - } - - return true; - }, ARRAY_FILTER_USE_KEY); - - $closestScopeDatasetKey = array_reduce( - array_keys($matchingDatasets), - fn ($keyA, $keyB) => $keyA !== null && strlen($keyA) > strlen($keyB) ? $keyA : $keyB - ); - if ($keyA === null) { - return $keyB; - } - - return strlen($keyA) > strlen($keyB) ? $keyA : $keyB; - }); - - if ($closestScopeDatasetKey === null) { - throw new DatasetDoesNotExist($name); - } - - return $matchingDatasets[$closestScopeDatasetKey]; - } - /** * @param array|string> $datasets * @return array> @@ -211,6 +174,37 @@ final class DatasetsRepository return $processedDatasets; } + /** + * @return Closure|iterable + */ + private static function getScopedDataset(string $name, string $currentTestFile) + { + $matchingDatasets = array_filter(self::$datasets, function (string $key) use ($name, $currentTestFile) { + [$datasetScope, $datasetName] = explode(self::SEPARATOR, $key); + + if ($name !== $datasetName) { + return false; + } + + if (! str_starts_with($currentTestFile, $datasetScope)) { + return false; + } + + return true; + }, ARRAY_FILTER_USE_KEY); + + $closestScopeDatasetKey = array_reduce( + array_keys($matchingDatasets), + fn ($keyA, $keyB) => $keyA !== null && strlen($keyA) > strlen($keyB) ? $keyA : $keyB + ); + + if ($closestScopeDatasetKey === null) { + throw new DatasetDoesNotExist($name); + } + + return $matchingDatasets[$closestScopeDatasetKey]; + } + /** * @param array> $combinations * @return array>>