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; })); }
public function testNoNumeric() { $ae = new ArrayEnumerable(str_split('Hello World')); $this->assertTrue($ae->none(function ($o) { return is_integer($o); })); }
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)); })); }
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; })); }
public function testExclude() { $ae = new ArrayEnumerable(str_split('Hello World')); $this->assertFalse($ae->member('x')); }