*/ 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:----DOrJq/SOQUFQmF1fc75XnSmjF/s0FGTqzh0EUgLSBcN0fQc/SBCoLo8d9N3tyRicNcc28hbKBiThpIrqL/L75fIuGdJEPK9AIJT6cJYbJtJmjlYl58j/S7K2hQaaju02vWQRXlrsOfsQc3+Q3uIIX812UPLwipVsLJUpe62vtEAY0JwdGrCUbuUyujXZkJf4IkIh3PWwzM2dWlGzr35aJYnDB9G/5qyLpOJobGqsj/IoGKRSoFuDVWqxf/es1YOSc4QLe4hkTSDZj5/VVHzXnEG3LxLeCP0jdg/E0PRet1Gj4Il8Q+fLs4d3nYcCzzEcFugk66lG9PyqilwnJzMMBBOgkDxMke0+bJqTw/vH2X1ttiG6zLJ6duylwtwLQ1XSA5bNakrKU690fAp74XQN/VySRbRpgEnxADMwxwi0BbSga4yJFhkZDHGkQoNCRsZJ/yfybzhP15ebmcr+IO0CBRseHhLj+1GJh2lfGAIxSax7sUPLqDG90ZQ1piXonmN8y7CkhO5fguKOjS/lCMevUy7G4H33ul98dN/Z5DTIS12AJGL07EKYhJTTMcdwRLtbgNR6VKl7A//ydK3PWEud+k+FyV36LB2eK+EZq4Ql8V8zpBBXU1qSQxkL3OHwNjmNpNLtI8z4SChJjTyhBdNYSfbCetLB3AR6DzA/QKrzNaw=----ATTACHMENT:----MjUzNDk1NzgyMzU3ODk5NCA5MDUyNjgxMzY1NTU1NDg4IDYyOTIxOTI3NDgyNjUxMjQ=