/** * Tests whether elements in the set are ordered. * * @return void */ public function testElementsAreOrdered() { $element1 = 1; $element2 = 2; $element3 = 3; $element4 = 4; $element5 = 5; $orderedSet = new OrderedSet(array($element1, $element2, $element3, $element4, $element5)); $currentValue = 1; foreach ($orderedSet as $element) { $this->assertSame($currentValue++, $element); } $orderedSet->remove($element3); $currentValue = 1; foreach ($orderedSet as $element) { $this->assertSame($currentValue++, $element); if ($element === $element2) { $currentValue++; } } }