/** * Check adding multiple items are added and removed correctly. */ public function testArrayAccessWithCustomKeys() { $collection = new Collection(); $item1 = ['hello' => 'hi']; $item2 = ['hello' => 'hey']; $collection->setKey('hello'); $this->assertFalse(isset($collection['hi'])); $collection->add($item1); $collection->add($item2); $this->assertTrue(isset($collection['hi'])); $this->assertSame($item1, $collection['hi']); $this->assertTrue(isset($collection['hey'])); $this->assertSame($item2, $collection['hey']); unset($collection['hi']); $this->assertFalse(isset($collection['hi'])); unset($collection['hey']); $this->assertFalse(isset($collection['hi'])); $this->assertSame([], $collection->all()); }