<?php

declare (strict_types=1);
namespace RectorPrefix202404;

use Rector\Config\RectorConfig;
use Rector\PHPUnit\PHPUnit60\Rector\ClassMethod\AddDoesNotPerformAssertionToNonAssertingTestRector;
use Rector\PHPUnit\PHPUnit60\Rector\ClassMethod\ExceptionAnnotationRector;
use Rector\PHPUnit\PHPUnit60\Rector\MethodCall\DelegateExceptionArgumentsRector;
use Rector\PHPUnit\PHPUnit60\Rector\MethodCall\GetMockBuilderGetMockToCreateMockRector;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\Rector\Name\RenameClassRector;
use Rector\Renaming\ValueObject\MethodCallRename;
return static function (RectorConfig $rectorConfig) : void {
    // handles 2nd and 3rd argument of setExpectedException
    $rectorConfig->rules([DelegateExceptionArgumentsRector::class, ExceptionAnnotationRector::class, AddDoesNotPerformAssertionToNonAssertingTestRector::class, GetMockBuilderGetMockToCreateMockRector::class]);
    $rectorConfig->ruleWithConfiguration(RenameMethodRector::class, [new MethodCallRename('PHPUnit\\Framework\\TestClass', 'setExpectedException', 'expectedException'), new MethodCallRename('PHPUnit\\Framework\\TestClass', 'setExpectedExceptionRegExp', 'expectedException'), new MethodCallRename('PHPUnit\\Framework\\TestCase', 'createMockBuilder', 'getMockBuilder')]);
    $rectorConfig->ruleWithConfiguration(RenameClassRector::class, [
        // ref. https://github.com/sebastianbergmann/phpunit/compare/5.7.9...6.0.0
        'PHPUnit_Framework_MockObject_Stub' => 'PHPUnit\\Framework\\MockObject\\Stub',
        'PHPUnit_Framework_MockObject_Stub_Return' => 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnStub',
        'PHPUnit_Framework_MockObject_Matcher_Parameters' => 'PHPUnit\\Framework\\MockObject\\Matcher\\Parameters',
        'PHPUnit_Framework_MockObject_Matcher_Invocation' => 'PHPUnit\\Framework\\MockObject\\Matcher\\Invocation',
        'PHPUnit_Framework_MockObject_MockObject' => 'PHPUnit\\Framework\\MockObject\\MockObject',
        'PHPUnit_Framework_MockObject_Invocation_Object' => 'PHPUnit\\Framework\\MockObject\\Invocation\\ObjectInvocation',
        'PHPUnit_Framework_Assert' => 'PHPUnit\\Framework\\Assert',
        'PHPUnit_Framework_AssertionFailedError' => 'PHPUnit\\Framework\\AssertionFailedError',
        'PHPUnit_Framework_BaseTestListener' => 'PHPUnit\\Framework\\BaseTestListener',
        'PHPUnit_Framework_CodeCoverageException' => 'PHPUnit\\Framework\\CodeCoverageException',
        'PHPUnit_Exception' => 'PHPUnit\\Exception',
        'PHPUnit_Framework_Exception' => 'PHPUnit\\Framework\\Exception',
        'PHPUnit_Framework_ExceptionWrapper' => 'PHPUnit\\Framework\\ExceptionWrapper',
        'PHPUnit_Framework_ExpectationFailedException' => 'PHPUnit\\Framework\\ExpectationFailedException',
        'PHPUnit_Framework_IncompleteTest' => 'PHPUnit\\Framework\\IncompleteTest',
        'PHPUnit_Framework_IncompleteTestCase' => 'PHPUnit\\Framework\\IncompleteTestCase',
        'PHPUnit_Framework_IncompleteTestError' => 'PHPUnit\\Framework\\IncompleteTestError',
        'PHPUnit_Framework_InvalidCoversTargetException' => 'PHPUnit\\Framework\\InvalidCoversTargetException',
        'PHPUnit_Framework_OutputError' => 'PHPUnit\\Framework\\OutputError',
        'PHPUnit_Framework_CoveredCodeNotExecutedException' => 'PHPUnit\\Framework\\CoveredCodeNotExecutedException',
        'PHPUnit_Framework_MissingCoversAnnotationException' => 'PHPUnit\\Framework\\MissingCoversAnnotationException',
        'PHPUnit_Framework_RiskyTest' => 'PHPUnit\\Framework\\RiskyTest',
        'PHPUnit_Framework_RiskyTestError' => 'PHPUnit\\Framework\\RiskyTestError',
        'PHPUnit_Framework_SkippedTest' => 'PHPUnit\\Framework\\SkippedTest',
        'PHPUnit_Framework_SkippedTestCase' => 'PHPUnit\\Framework\\SkippedTestCase',
        'PHPUnit_Framework_SkippedTestError' => 'PHPUnit\\Framework\\SkippedTestError',
        'PHPUnit_Framework_SkippedTestSuiteError' => 'PHPUnit\\Framework\\SkippedTestSuiteError',
        'PHPUnit_Framework_SyntheticError' => 'PHPUnit\\Framework\\SyntheticError',
        'PHPUnit_Framework_Test' => 'PHPUnit\\Framework\\Test',
        'PHPUnit_Framework_TestCase' => 'PHPUnit\\Framework\\TestCase',
        'PHPUnit_Framework_TestFailure' => 'PHPUnit\\Framework\\TestFailure',
        'PHPUnit_Framework_TestListener' => 'PHPUnit\\Framework\\TestListener',
        'PHPUnit_Framework_TestResult' => 'PHPUnit\\Framework\\TestResult',
        'PHPUnit_Framework_TestSuite' => 'PHPUnit\\Framework\\TestSuite',
        'PHPUnit_Framework_UnintentionallyCoveredCodeError' => 'PHPUnit\\Framework\\UnintentionallyCoveredCodeError',
        'PHPUnit_Framework_Warning' => 'PHPUnit\\Framework\\Warning',
        'PHPUnit_Framework_WarningTestCase' => 'PHPUnit\\Framework\\WarningTestCase',
        'PHPUnit_Framework_Constraint_And' => 'PHPUnit\\Framework\\Constraint\\LogicalAnd',
        'PHPUnit_Framework_Constraint_ArrayHasKey' => 'PHPUnit\\Framework\\Constraint\\ArrayHasKey',
        'PHPUnit_Framework_Constraint_ArraySubset' => 'PHPUnit\\Framework\\Constraint\\ArraySubset',
        'PHPUnit_Framework_Constraint_Attribute' => 'PHPUnit\\Framework\\Constraint\\Attribute',
        'PHPUnit_Framework_Constraint_Callback' => 'PHPUnit\\Framework\\Constraint\\Callback',
        'PHPUnit_Framework_Constraint_ClassHasAttribute' => 'PHPUnit\\Framework\\Constraint\\ClassHasAttribute',
        'PHPUnit_Framework_Constraint_Composite' => 'PHPUnit\\Framework\\Constraint\\Composite',
        'PHPUnit_Framework_Constraint_Count' => 'PHPUnit\\Framework\\Constraint\\Count',
        'PHPUnit_Framework_Constraint_DirectoryExists' => 'PHPUnit\\Framework\\Constraint\\DirectoryExists',
        'PHPUnit_Framework_Constraint' => 'PHPUnit\\Framework\\Constraint\\Constraint',
        'PHPUnit_Framework_Constraint_Exception' => 'PHPUnit\\Framework\\Constraint\\Exception',
        'PHPUnit_Framework_Constraint_ExceptionCode' => 'PHPUnit\\Framework\\Constraint\\ExceptionCode',
        'PHPUnit_Framework_Constraint_ExceptionMessage' => 'PHPUnit\\Framework\\Constraint\\ExceptionMessage',
        'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => 'PHPUnit_Framework_Constraint_ExceptionMessageRegularExpression',
        'PHPUnit_Framework_Constraint_FileExists' => 'PHPUnit\\Framework\\Constraint\\FileExists',
        'PHPUnit_Framework_Constraint_GreaterThan' => 'PHPUnit\\Framework\\Constraint\\GreaterThan',
        'PHPUnit_Framework_Constraint_IsAnything' => 'PHPUnit\\Framework\\Constraint\\IsAnything',
        'PHPUnit_Framework_Constraint_IsEmpty' => 'PHPUnit\\Framework\\Constraint\\IsEmpty',
        'PHPUnit_Framework_Constraint_IsIdentical' => 'PHPUnit\\Framework\\Constraint\\IsIdentical',
        'PHPUnit_Framework_Constraint_IsInfinite' => 'PHPUnit\\Framework\\Constraint\\IsInfinite',
        'PHPUnit_Framework_Constraint_IsInstanceOf' => 'PHPUnit\\Framework\\Constraint\\IsInstanceOf',
        'PHPUnit_Framework_Constraint_IsJson' => 'PHPUnit\\Framework\\Constraint\\IsJson',
        'PHPUnit_Framework_Constraint_IsNan' => 'PHPUnit\\Framework\\Constraint\\IsNan',
        'PHPUnit_Framework_Constraint_IsNull' => 'PHPUnit\\Framework\\Constraint\\IsNull',
        'PHPUnit_Framework_Constraint_IsReadable' => 'PHPUnit\\Framework\\Constraint\\IsReadable',
        'PHPUnit_Framework_Constraint_IsTrue' => 'PHPUnit\\Framework\\Constraint\\IsTrue',
        'PHPUnit_Framework_Constraint_IsType' => 'PHPUnit\\Framework\\Constraint\\IsType',
        'PHPUnit_Framework_Constraint_IsWritable' => 'PHPUnit\\Framework\\Constraint\\IsWritable',
        'PHPUnit_Framework_Constraint_JsonMatches' => 'PHPUnit\\Framework\\Constraint\\JsonMatches',
        'PHPUnit_Framework_Constraint_LessThan' => 'PHPUnit\\Framework\\Constraint\\LessThan',
        'PHPUnit_Framework_Constraint_Not' => 'PHPUnit\\Framework\\Constraint\\LogicalNot',
        'PHPUnit_Framework_Constraint_ObjectHasAttribute' => 'PHPUnit\\Framework\\Constraint\\ObjectHasAttribute',
        'PHPUnit_Framework_Constraint_Or' => 'PHPUnit\\Framework\\Constraint\\LogicalOr',
        'PHPUnit_Framework_Constraint_PCREMatch' => 'PHPUnit\\Framework\\Constraint\\RegularExpression',
        'PHPUnit_Framework_Constraint_SameSize' => 'PHPUnit\\Framework\\Constraint\\SameSize',
        'PHPUnit_Framework_Constraint_StringContains' => 'PHPUnit\\Framework\\Constraint\\StringContains',
        'PHPUnit_Framework_Constraint_StringEndsWith' => 'PHPUnit\\Framework\\Constraint\\StringEndsWith',
        'PHPUnit_Framework_Constraint_StringMatches' => 'PHPUnit\\Framework\\Constraint\\StringMatchesFormatDescription',
        'PHPUnit_Framework_Constraint_StringStartsWith' => 'PHPUnit\\Framework\\Constraint\\StringStartsWith',
        'PHPUnit_Framework_Constraint_TraversableContains' => 'PHPUnit\\Framework\\Constraint\\TraversableContains',
        'PHPUnit_Framework_Constraint_TraversableContainsOnly' => 'PHPUnit\\Framework\\Constraint\\TraversableContainsOnly',
        'PHPUnit_Framework_Constraint_Xor' => 'PHPUnit\\Framework\\Constraint\\LogicalXor',
        'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => 'PHPUnit\\Framework\\Constraint\\JsonMatchesErrorMessageProvider',
        'PHPUnit_Framework_Error_Deprecated' => 'PHPUnit\\Framework\\Error\\Deprecated',
        'PHPUnit_Framework_Error_Notice' => 'PHPUnit\\Framework\\Error\\Notice',
        'PHPUnit_Framework_Error_Warning' => 'PHPUnit\\Framework\\Error\\Warning',
        'PHPUnit_Framework_TestSuite_DataProvider' => 'PHPUnit\\Framework\\DataProviderTestSuite',
        'PHPUnit_Framework_Error' => 'PHPUnit\\Framework\\Error\\Error',
        'PHPUnit_Runner_BaseTestRunner' => 'PHPUnit\\Runner\\BaseTestRunner',
        'PHPUnit_Runner_Exception' => 'PHPUnit\\Runner\\Exception',
        'PHPUnit_Runner_PhptTestCase' => 'PHPUnit\\Runner\\PhptTestCase',
        'PHPUnit_Runner_StandardTestSuiteLoader' => 'PHPUnit\\Runner\\StandardTestSuiteLoader',
        'PHPUnit_Runner_TestSuiteLoader' => 'PHPUnit\\Runner\\TestSuiteLoader',
        'PHPUnit_Runner_Version' => 'PHPUnit\\Runner\\Version',
        'PHPUnit_Runner_Filter_Factory' => 'PHPUnit\\Runner\\Filter\\Factory',
        'PHPUnit_Runner_Filter_GroupFilterIterator' => 'PHPUnit\\Runner\\Filter\\GroupFilterIterator',
        'PHPUnit_Runner_Filter_Test' => 'PHPUnit\\Runner\\Filter\\NameFilterIterator',
        'PHPUnit_Runner_Filter_Group_Exclude' => 'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator',
        'PHPUnit_Runner_Filter_Group_Include' => 'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator',
        'PHPUnit_TextUI_Command' => 'PHPUnit\\TextUI\\Command',
        'PHPUnit_TextUI_ResultPrinter' => 'PHPUnit\\TextUI\\ResultPrinter',
        'PHPUnit_TextUI_TestRunner' => 'PHPUnit\\TextUI\\TestRunner',
        'PHPUnit_Util_Blacklist' => 'PHPUnit\\Util\\Blacklist',
        'PHPUnit_Util_Configuration' => 'PHPUnit\\Util\\Configuration',
        'PHPUnit_Util_ConfigurationGenerator' => 'PHPUnit\\Util\\ConfigurationGenerator',
        'PHPUnit_Util_ErrorHandler' => 'PHPUnit\\Util\\ErrorHandler',
        'PHPUnit_Util_Fileloader' => 'PHPUnit\\Util\\Fileloader',
        'PHPUnit_Util_Filesystem' => 'PHPUnit\\Util\\Filesystem',
        'PHPUnit_Util_Filter' => 'PHPUnit\\Util\\Filter',
        'PHPUnit_Util_Getopt' => 'PHPUnit\\Util\\Getopt',
        'PHPUnit_Util_GlobalState' => 'PHPUnit\\Util\\GlobalState',
        'PHPUnit_Util_InvalidArgumentHelper' => 'PHPUnit\\Util\\InvalidArgumentHelper',
        'PHPUnit_Util_PHP' => 'PHPUnit\\Util\\PHP\\AbstractPhpProcess',
        'PHPUnit_Util_PHP_Default' => 'PHPUnit\\Util\\PHP\\DefaultPhpProcess',
        'PHPUnit_Util_PHP_Windows' => 'PHPUnit\\Util\\PHP\\WindowsPhpProcesPhpProcess',
        'PHPUnit_Util_Log_JUnit' => 'PHPUnit\\Util\\Log\\JUnit',
        'PHPUnit_Util_Log_TeamCity' => 'PHPUnit\\Util\\Log\\TeamCity',
        'PHPUnit_Util_TestDox_NamePrettifier' => 'PHPUnit\\Util\\TestDox\\NamePrettifier',
        'PHPUnit_Util_TestDox_ResultPrinter' => 'PHPUnit\\Util\\TestDox\\ResultPrinter',
        'PHPUnit_Util_TestDox_ResultPrinter_HTML' => 'PHPUnit\\Util\\TestDox\\HtmlResultPrinter',
        'PHPUnit_Util_TestDox_ResultPrinter_Text' => 'PHPUnit\\Util\\TestDox\\TextResultPrinter',
        'PHPUnit_Util_TestDox_ResultPrinter_XML' => 'PHPUnit\\Util\\TestDox\\XmlResultPrinter',
        'PHPUnit_Util_Printer' => 'PHPUnit\\Util\\Printer',
        'PHPUnit_Util_Regex' => 'PHPUnit\\Util\\RegularExpression',
        'PHPUnit_Util_String' => 'PHPUnit\\Util\\Utf8',
        'PHPUnit_Util_XML' => 'PHPUnit\\Util\\XML',
        'PHPUnit_Util_TestSuiteIterator' => 'PHPUnit\\Framework\\TestSuiteIterator',
        'PHPUnit_Util_Type' => 'PHPUnit\\Util\\Type',
        'PHPUnit_Util_Test' => 'PHPUnit\\Util\\Test',
    ]);
};
