/**
  * 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);
 }