public function testValidRange()
 {
     $compare = array(array("1.0.0 - 2.0.0", ">=1.0.0 <=2.0.0"), array("1.0.0", "1.0.0"), array(">=*", ">=0.0.0-0"), array("", "*"), array("*", "*"), array(">=1.0.0", ">=1.0.0"), array(">1.0.0", ">1.0.0"), array("<=2.0.0", "<=2.0.0"), array("1", ">=1.0.0-0 <2.0.0-0"), array("<=2.0.0", "<=2.0.0"), array("<2.0.0", "<2.0.0-0"), array(">= 1.0.0", ">=1.0.0"), array(">=  1.0.0", ">=1.0.0"), array(">=   1.0.0", ">=1.0.0"), array("> 1.0.0", ">1.0.0"), array(">  1.0.0", ">1.0.0"), array("<=   2.0.0", "<=2.0.0"), array("<= 2.0.0", "<=2.0.0"), array("<=  2.0.0", "<=2.0.0"), array("<    2.0.0", "<2.0.0-0"), array("<\t2.0.0", "<2.0.0-0"), array(">=0.1.97", ">=0.1.97"), array(">=0.1.97", ">=0.1.97"), array("0.1.20 || 1.2.4", "0.1.20||1.2.4"), array(">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1-0"), array(">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1-0"), array(">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1-0"), array("||", "||"), array("2.x.x", ">=2.0.0-0 <3.0.0-0"), array("1.2.x", ">=1.2.0-0 <1.3.0-0"), array("1.2.x || 2.x", ">=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0"), array("x", "*"), array("2.*.*", '>=2.0.0-0 <3.0.0-0'), array("1.2.*", '>=1.2.0-0 <1.3.0-0'), array("1.2.* || 2.*", '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'), array("*", "*"), array("2", ">=2.0.0-0 <3.0.0-0"), array("2.3", ">=2.3.0-0 <2.4.0-0"), array("~2.4", ">=2.4.0-0 <2.5.0-0"), array("~>3.2.1", ">=3.2.1-0 <3.3.0-0"), array("~1", ">=1.0.0-0 <2.0.0-0"), array("~>1", ">=1.0.0-0 <2.0.0-0"), array("~> 1", ">=1.0.0-0 <2.0.0-0"), array("~1.0", ">=1.0.0-0 <1.1.0-0"), array("~ 1.0", ">=1.0.0-0 <1.1.0-0"), array("^0", ">=0.0.0-0 <1.0.0-0"), array("^ 1", ">=1.0.0-0 <2.0.0-0"), array("^0.1", ">=0.1.0-0 <0.2.0-0"), array("^1.0", ">=1.0.0-0 <2.0.0-0"), array("^1.2", ">=1.2.0-0 <2.0.0-0"), array("^0.0.1", "=0.0.1"), array("^0.0.1-beta", "=0.0.1-beta"), array("^0.1.2", ">=0.1.2-0 <0.2.0-0"), array("^1.2.3", ">=1.2.3-0 <2.0.0-0"), array("^1.2.3-beta.4", ">=1.2.3-beta.4 <2.0.0-0"), array("<1", "<1.0.0-0"), array("< 1", "<1.0.0-0"), array(">=1", ">=1.0.0-0"), array(">= 1", ">=1.0.0-0"), array("<1.2", "<1.2.0-0"), array("< 1.2", "<1.2.0-0"), array("1", ">=1.0.0-0 <2.0.0-0"), array(">01.02.03", ">1.2.3", true), array(">01.02.03", null), array("~1.2.3beta", ">=1.2.3-beta <1.3.0-0", true), array("~1.2.3beta", null), array("^ 1.2 ^ 1", ">=1.2.0-0 <2.0.0-0 >=1.0.0-0 <2.0.0-0"));
     foreach ($compare as $set) {
         $loose = isset($set[2]) && $set[2];
         $this->assertEquals(SemVer\G::validRange($set[0], $loose), $set[1]);
     }
 }