/** * test a version number against a comparison expression * * a comparison expression is normally of the form * * = 1.0.0 * > 1.0.1 * < 1.9.99 * * @param ComparisonExpression $expression * the expression to check $version against * @param VersionNumber $version * the version to test against $expression * @return boolean * TRUE if $version passes the expression * FALSE otherwise */ public static function calculate(ComparisonExpression $expression, VersionNumber $version) { $operator = $expression->getOperator(); return $operator($version, $expression->getVersionNumber()); }
/** * @covers ::getVersionNumber */ public function testCanGetVersionNumberFromExpression() { // ---------------------------------------------------------------- // setup your test $operator = new EqualTo(); $version = ParseSemanticVersion::from("1.0.0"); $obj = new ComparisonExpression($operator, $version); // ---------------------------------------------------------------- // perform the change $actualResult = $obj->getVersionNumber(); // ---------------------------------------------------------------- // test the results $this->assertSame($version, $actualResult); }