diff --git a/tests/Constraint/ConstraintTest.php b/tests/Constraint/ConstraintTest.php index 9a058969..5dc59109 100644 --- a/tests/Constraint/ConstraintTest.php +++ b/tests/Constraint/ConstraintTest.php @@ -25,7 +25,11 @@ class ConstraintTest extends TestCase */ protected $versionProvide; - protected function setUp() + /** + * @before + * @return void + */ + public function setUpTestCase() { $this->constraint = new Constraint('==', '1'); $this->versionProvide = new Constraint('==', 'dev-foo'); @@ -373,33 +377,29 @@ public function testVersionMatchFails($requireOperator, $requireVersion, $provid public function testInverseMatchingOtherConstraints() { $constraint = new Constraint('>', '1.0.0'); + $otherConstraintClasses = array( + 'Composer\Semver\Constraint\MultiConstraint', + 'Composer\Semver\Constraint\MatchAllConstraint' + ); - $multiConstraint = $this - ->getMockBuilder('Composer\Semver\Constraint\MultiConstraint') - ->disableOriginalConstructor() - ->setMethods(array('matches')) - ->getMock() - ; - - $matchAllConstraint = $this - ->getMockBuilder('Composer\Semver\Constraint\MatchAllConstraint') - ->setMethods(array('matches')) - ->getMock() - ; - - foreach (array($multiConstraint, $matchAllConstraint) as $mock) { - $mock + foreach ($otherConstraintClasses as $otherConstraintClass) { + $otherConstraintMockBuilder = $this->getMockBuilder($otherConstraintClass); + $otherConstraintMockBuilder->disableOriginalConstructor(); + if (method_exists($otherConstraintMockBuilder, 'onlyMethods')) { + $otherConstraintMockBuilder->onlyMethods(array('matches')); + } elseif (method_exists($otherConstraintMockBuilder, 'setMethods')) { + $otherConstraintMockBuilder->setMethods(array('matches')); + } + $otherConstraintMock = $otherConstraintMockBuilder->getMock(); + $otherConstraintMock ->expects($this->once()) ->method('matches') ->with($constraint) ->willReturn(true) ; + // @phpstan-ignore-next-line + $this->assertTrue($constraint->matches($otherConstraintMock)); } - - // @phpstan-ignore-next-line - $this->assertTrue($constraint->matches($multiConstraint)); - // @phpstan-ignore-next-line - $this->assertTrue($constraint->matches($matchAllConstraint)); } public function testComparableBranches() diff --git a/tests/Constraint/MatchAllConstraintTest.php b/tests/Constraint/MatchAllConstraintTest.php index 21e5978e..ad4152e4 100644 --- a/tests/Constraint/MatchAllConstraintTest.php +++ b/tests/Constraint/MatchAllConstraintTest.php @@ -24,7 +24,11 @@ class MatchAllConstraintTest extends TestCase */ protected $matchAllConstraint; - protected function setUp() + /** + * @before + * @return void + */ + public function setUpTestCase() { $this->versionProvide = new Constraint('==', '1.1'); $this->matchAllConstraint = new MatchAllConstraint(); diff --git a/tests/Constraint/MatchNoneConstraintTest.php b/tests/Constraint/MatchNoneConstraintTest.php index 8e7d73cb..801d2af5 100644 --- a/tests/Constraint/MatchNoneConstraintTest.php +++ b/tests/Constraint/MatchNoneConstraintTest.php @@ -20,7 +20,11 @@ class MatchNoneConstraintTest extends TestCase */ protected $matchNoneConstraint; - protected function setUp() + /** + * @before + * @return void + */ + public function setUpTestCase() { $this->matchNoneConstraint = new MatchNoneConstraint(); } diff --git a/tests/Constraint/MultiConstraintTest.php b/tests/Constraint/MultiConstraintTest.php index 9093e73a..f8e86842 100644 --- a/tests/Constraint/MultiConstraintTest.php +++ b/tests/Constraint/MultiConstraintTest.php @@ -26,7 +26,11 @@ class MultiConstraintTest extends TestCase */ protected $versionRequireEnd; - protected function setUp() + /** + * @before + * @return void + */ + public function setUpTestCase() { $this->versionRequireStart = new Constraint('>', '1.0'); $this->versionRequireEnd = new Constraint('<', '1.2');