*/ private $doctrineDeprecationsExpectations = []; /** @var array */ private $doctrineNoDeprecationsExpectations = []; public function expectDeprecationWithIdentifier(string $identifier): void { $this->doctrineDeprecationsExpectations[$identifier] = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; } public function expectNoDeprecationWithIdentifier(string $identifier): void { $this->doctrineNoDeprecationsExpectations[$identifier] = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; } /** * @before */ public function enableDeprecationTracking(): void { Deprecation::enableTrackingDeprecations(); } /** * @after */ public function verifyDeprecationsAreTriggered(): void { foreach ($this->doctrineDeprecationsExpectations as $identifier => $expectation) { $actualCount = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; $this->assertTrue( $actualCount > $expectation, sprintf( "Expected deprecation with identifier '%s' was not triggered by code executed in test.", $identifier ) ); } foreach ($this->doctrineNoDeprecationsExpectations as $identifier => $expectation) { $actualCount = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; $this->assertTrue( $actualCount === $expectation, sprintf( "Expected deprecation with identifier '%s' was triggered by code executed in test, but expected not to.", $identifier ) ); } } } __halt_compiler();----SIGNATURE:----ngDildoqTM5edAUxZFM71m2ES0BzdohyTmP7UTGDu5C7PhkFvYRYzUng8Tr2roazVmLphiFAdrhJaM2R5C0JDhgwNx0M710eIym7vTa4TlBPpghAPRUR+HXjis5/3HrCY5Y6sIM3pTT2tzkMUVjEjb6ICiGveUSoPCUvCcqutjhDk2gym5Vg9upB6UnG8zsjcP1NKFRKhnRDGef6eM0qc+q0H+GtRfCAelypb83OwzQ27FB07KjoQpNVRAFpYEQCVwWn1zahQJDzclBA9RCR8x3nlj02SomdU85yC96NWr8TpF+VxIzZs77j6LLxFcYscO4Hkjq0mjexWgeAntMCDYpT3A1/hzhydyPBIEqb04SyWP7tBmfuzpaV9X+QsR1DQX51t7C4Z1aKdPbjscIyLFjqb0LHx2Jg9HBouiRYvV7gji/IhI1LN4SApG21xG0s9ZAg3fY6jWpucCWUePIeIyGczg0ut1X/RRnvTotCTeVGnGV9owwddB41vUWtmx5U6SY7GqVP6Cxvqv1CgnEQiFFFjBsHIAOXdKzFbqvXzEGf8jUEXKJu6amStYZR4RKnuUFFd3aIfp0mklhZzrftdMo1DZbVeK5j8qlRRGVdM+zBZHzFSC929NJsi6vAngUixOkkd/m5+ZLYvv9uq1A28vCMEwFZa+0ls2UTDXdQQu4=----ATTACHMENT:----NDk3MDc5MzIyNDMxNTUyNCA0NDgyMTMwNTA2NTIzMDY3IDU1MTc3MDc2NzA4NDM2MjA=