示例#1
0
 public function testNumeric()
 {
     $ar = new ArrayEnumerable([1, 2, 3, 4, 5, 6, 7, 8, 9]);
     $this->assertEquals(4, $ar->find(function ($o) {
         return $o % 2 == 0 && $o % 4 == 0;
     }));
 }
 public function testTwoArgumentsReturnArray()
 {
     $ae = new ArrayEnumerable(range(1, 500));
     $this->assertInternalType('array', $ae->first_matching(10, function ($o) {
         return 0 == $o % 21 & $o > 21;
     }));
 }
示例#3
0
 public function testNoNumeric()
 {
     $ae = new ArrayEnumerable(str_split('Hello World'));
     $this->assertTrue($ae->none(function ($o) {
         return is_integer($o);
     }));
 }
示例#4
0
 public function testExternalType()
 {
     $a = new A();
     $ae = new ArrayEnumerable([new A(), new A(), new A()]);
     $this->assertTrue($ae->all(function ($o) use($a) {
         return is_a($o, get_class($a));
     }));
 }
示例#5
0
 public function testRightEdgeAlpha()
 {
     $str = 'Hello World';
     $str_arr = str_split($str);
     $ae = new ArrayEnumerable($str_arr);
     $right_edge_letter = $str_arr[sizeof($str_arr) - 1];
     $this->assertTrue($ae->any(function ($o) use($right_edge_letter) {
         return $o == $right_edge_letter;
     }));
 }
示例#6
0
 public function testExclude()
 {
     $ae = new ArrayEnumerable(str_split('Hello World'));
     $this->assertFalse($ae->member('x'));
 }