Pinq\Tests\Integration\Traversable\Complex\ArrayTraversalTest::testGroupJoinToSelfWithCondition PHP Метод

testGroupJoinToSelfWithCondition() публичный Метод

public testGroupJoinToSelfWithCondition ( Pinq\ITraversable $traversable, array $data )
$traversable Pinq\ITraversable
$data array
    public function testGroupJoinToSelfWithCondition(\Pinq\ITraversable $traversable, array $data)
    {
        $joinedlastNames = $traversable->groupJoin($traversable)->onEquality(function ($outer) {
            return $outer['firstName'][0];
        }, function ($inner) {
            return $inner['lastName'][0];
        })->to(function ($person, \Pinq\ITraversable $joinedPeople) {
            return $person['firstName'] . '{' . $joinedPeople->implode(',', function ($person) {
                return $person['lastName'];
            }) . '}';
        })->implode(':');
        $this->assertEquals('Zoe{}:Alex{}:Daniel{Denali,Desopolous,Dekresta}:Casy{}:Dave{Denali,Desopolous,Dekresta}:' . 'Hugo{}:Sandy{}:Beth{Black,Baronksy}:David{Denali,Desopolous,Dekresta}:Daniel{Denali,Desopolous,Dekresta}', $joinedlastNames);
    }