public function testDefaultBehavior()
{
$this->assertSame([0 => 'value1', 1 => 'value2', 3 => 'value'], unique($this->list));
$this->assertSame([0 => 'value1', 1 => 'value2', 3 => 'value'], unique($this->listIterator));
$this->assertSame(['k1' => 'val1', 'k2' => 'val2'], unique($this->hash));
$this->assertSame(['k1' => 'val1', 'k2' => 'val2'], unique($this->hashIterator));
$fn = function ($value, $key, $collection) {
return $value;
};
$this->assertSame([0 => 'value1', 1 => 'value2', 3 => 'value'], unique($this->list, $fn));
$this->assertSame([0 => 'value1', 1 => 'value2', 3 => 'value'], unique($this->listIterator, $fn));
$this->assertSame(['k1' => 'val1', 'k2' => 'val2'], unique($this->hash, $fn));
$this->assertSame(['k1' => 'val1', 'k2' => 'val2'], unique($this->hashIterator, $fn));
}