public function testThatGroupJoinWithDefaultOperatesCorrectly(\Pinq\ITraversable $traversable, array $data)
{
$traversable = $traversable->groupJoin([1, 4, 9, 16, 25, 36, 49, 64, 81, 100])->on(function ($outer, $inner) {
return $outer % 2 === 0 && $outer * $outer >= $inner;
})->withDefault('<ODD>')->to(function ($outer, \Pinq\ITraversable $innerGroup) {
return $outer . ':' . $innerGroup->implode(',');
});
$this->assertMatches($traversable, ['1:<ODD>', '2:1,4', '3:<ODD>', '4:1,4,9,16', '5:<ODD>', '6:1,4,9,16,25,36', '7:<ODD>', '8:1,4,9,16,25,36,49,64', '9:<ODD>', '10:1,4,9,16,25,36,49,64,81,100']);
}