public function testThatGroupByElementReturnsCorrectTraversableType(\Pinq\ITraversable $traversable, array $data)
{
$groups = $traversable->groupBy(function ($i) {
return $i;
});
foreach ($groups as $group) {
if ($traversable instanceof \Pinq\IQueryable) {
$this->assertInstanceOf(\Pinq\IQueryable::ITRAVERSABLE_TYPE, $group);
} elseif ($traversable instanceof \Pinq\IRepository) {
$this->assertInstanceOf(\Pinq\IRepository::IREPOSITORY_TYPE, $group);
} else {
$this->assertInstanceOf(get_class($traversable), $group);
}
}
}