/**
  * @covers ::calculate
  * @dataProvider provideVersionRangesForMatching
  */
 public function testCanCallStatically($input, $version, $expectedResult)
 {
     // ----------------------------------------------------------------
     // setup your test
     $parser = new ParseSemanticVersion();
     $range = ParseVersionRange::from($input, $parser);
     $version = $parser($version);
     // ----------------------------------------------------------------
     // perform the change
     $actualResult = CompareVersionRange::calculate($range, $version);
     // ----------------------------------------------------------------
     // test the results
     $this->assertEquals($expectedResult, $actualResult);
 }
 /**
  * @covers ::toArray
  */
 public function testCanConvertToArray()
 {
     // ----------------------------------------------------------------
     // setup your test
     $parser = new ParseSemanticVersion();
     $obj = ParseVersionRange::from(">1.0.0, <2.0.0", $parser);
     // ----------------------------------------------------------------
     // perform the change
     $expressions = $obj->toArray();
     // ----------------------------------------------------------------
     // test the results
     $this->assertEquals(2, count($expressions));
 }
 /**
  * @covers ::from
  * @dataProvider provideInvalidRangesToEvaluate
  * @expectedException GanbaroDigital\Versions\Exceptions\E4xx_BadVersionString
  */
 public function testRejectsInvalidRanges($expression)
 {
     // ----------------------------------------------------------------
     // setup your test
     $parser = new ParseSemanticVersion();
     // ----------------------------------------------------------------
     // perform the change
     ParseVersionRange::from($expression, $parser);
 }