}
return $groups;
}
+
+ public static function inits($collection)
+ {
+ $result = array();
+ $init = array();
+
+ $result[] = $init;
+ foreach ($collection as $item) {
+ $init = array_merge($init, array($item));
+ $result[] = $init;
+ }
+
+ return $result;
+ }
}
$this->assertEquals(2, count($groups['red']));
$this->assertEquals(2, count($groups['green']));
}
+
+ public function testInits()
+ {
+ $this->assertEquals(array(array()),
+ \PFF\Collection::inits(array()));
+
+ $this->assertEquals(array(array(), array('1')),
+ \PFF\Collection::inits(array('1')));
+
+ $this->assertEquals(array(array(), array('1'), array('1', 2)),
+ \PFF\Collection::inits(array('1', 2)));
+
+ $this->assertEquals(array(array(), array(1), array(1, '2'), array(1, '2', 3)),
+ \PFF\Collection::inits(array(1, '2', 3)));
+ }
}