function testCompact() { $a = new Collection(array('a' => 3, 'b' => 2, 'c' => array(), 'd' => null)); $this->assertEquals(2, count($a->compact())); $this->assertEquals(3, $a->compact(function ($val) { return $val === null; })->tap(function ($iter) { var_dump(iterator_to_array($iter)); })->count()); }