public function testFilterWorksAsExpected() { $filter = new SkipNulls(); $expected = [1, 2, 4]; $array = [1, 2, null, 4]; $actual = []; Each::shallow($filter)->begin($array, function ($bag) use(&$actual) { $actual[] = $bag->value(); }); $this->assertEquals($expected, $actual); }
public function testFilterWorksAsExpected() { $filter = new Regex('/[0-9]+/'); $expected = [5, 6]; $array = ['a', 5, 'b', 6, 'c']; $actual = []; Each::shallow($filter)->begin($array, function ($bag) use(&$actual) { $actual[] = $bag->value(); }); $this->assertEquals($expected, $actual); }
public function testFilterWorksAsExpected() { $filter = new Greater(5); $expected = [6]; $array = [1, 5, 4, 6, 5]; $actual = []; Each::shallow($filter)->begin($array, function ($bag) use(&$actual) { $actual[] = $bag->value(); }); $this->assertEquals($expected, $actual); }
public function testStandardShallowBeginMultipleCycles() { $expected = 1; $cycles = 2; $cur_cycle = 0; $array = [1, 2, 3]; Each::shallow()->begin($array, function ($bag) use(&$expected, &$cur_cycle, $array) { $actual = $bag->value(); $this->assertEquals($expected, $actual); $expected++; $actual = $bag->cycle(); $this->assertEquals($cur_cycle, $actual); if ($expected > $array[count($array) - 1]) { $expected = 1; $cur_cycle++; } }, $cycles); }