<?php declare(strict_types=1);
namespace PHPUnit\Framework;
use function assert;
use function count;
use function get_class;
use function sprintf;
use function trim;
use PHPUnit\Util\Filter;
use PHPUnit\Util\InvalidDataSetException;
use PHPUnit\Util\Test as TestUtil;
use ReflectionClass;
use Throwable;
final class TestBuilder
{
public function build(ReflectionClass $theClass, string $methodName): Test
{
$className = $theClass->getName();
if (!$theClass->isInstantiable()) {
return new ErrorTestCase(
sprintf('Cannot instantiate class "%s".', $className),
);
}
$backupSettings = TestUtil::getBackupSettings(
$className,
$methodName,
);
$preserveGlobalState = TestUtil::getPreserveGlobalStateSettings(
$className,
$methodName,