/** * test a version number against a version range * * @param VersionRange $range * the range to check $version against * @param VersionNumber $version * the version to test against $range * @return boolean * TRUE if $version is inside the $range * FALSE otherwise */ public static function calculate(VersionRange $range, VersionNumber $version) { foreach ($range as $expression) { if (!CompareExpression::calculate($expression, $version)) { return false; } } return true; }
/** * @covers ::calculate * @dataProvider provideExpressionsToTest */ public function testCanCallStatically($expression, $version, $expectedResult) { // ---------------------------------------------------------------- // setup your test $parser = new ParseSemanticVersion(); $expression = ParseComparisonExpression::from($expression, $parser); $version = $parser($version); // ---------------------------------------------------------------- // perform the change $actualResult = CompareExpression::calculate($expression, $version); // ---------------------------------------------------------------- // test the results $this->assertEquals($expectedResult, $actualResult); }