示例#1
0
 public function testInfinities()
 {
     $numeric = new Structure\NumericS();
     $numeric->setRange("(-inf, inf)");
     for ($i = -pow(10, 10); $i < pow(10, 10); $i += pow(10, 9)) {
         $this->assertTrue($numeric->check($i));
     }
     $numeric->setRange("(0, +inf)");
     $this->assertFalse($numeric->check(0));
     $this->assertTrue($numeric->check(1));
     $this->assertTrue($numeric->check(147821764713627581));
     $numeric->setRange("[1,inf)");
     $this->assertFalse($numeric->check(0));
     $this->assertTrue($numeric->check(1));
     $this->assertTrue($numeric->check(147821764713627581));
 }
示例#2
0
 /**
  * testing value sets for specific types
  */
 public function testValueSet5()
 {
     $string = new \Structure\StringS();
     $string->setValueSet("{hello,world,foo,bar}");
     foreach (array("hello", "world", "foo", "bar") as $value) {
         $this->assertTrue($string->check($value));
     }
     $this->assertFalse($string->check("xyz"));
     $this->assertFalse($string->check("var"));
     $numeric = new \Structure\NumericS();
     $numeric->setValueSet("{3,4,6}");
     // this couldn't be done with setRange("[3,6]")
     $this->assertTrue($numeric->check(3));
     $this->assertTrue($numeric->check(4));
     $this->assertFalse($numeric->check(5));
     $this->assertTrue($numeric->check(6));
     $this->assertFalse($numeric->check(3.9));
     $this->assertFalse($numeric->check(9.231));
     // it is kinda silly to use valueSets for boolean, but you can still do it
 }