public function testThatIndexesSupportArrayKeys(\Pinq\ITraversable $traversable, array $data)
{
$traversable = $traversable->indexBy(function ($value, $key) {
return ['foo' => $key, 2 => 3];
});
foreach ($data as $key => $value) {
//Arrays are value types, no reference required
$this->assertTrue(isset($traversable[['foo' => $key, 2 => 3]]));
$this->assertSame($value, $traversable[['foo' => $key, 2 => 3]]);
$this->assertFalse(isset($traversable[['foo' => $key, 2 => '3']]), 'Should be using strict equality for arrays (order matters)');
$this->assertFalse(isset($traversable[[2 => 3, 'foo' => $key]]), 'Should be using strict equality for arrays (order matters)');
}
}