public function testOnDisplaySortByInStockandPosition() { $curtainDesign = new CurtainDesign(); $curtainColour1 = new CurtainColour(); $curtainColour1->setId(1); $curtainColour1->setName("one"); $curtainColour1->setinStock(1); $curtainColour1->setDisplay(1); $curtainColour1->setPosition(1); $curtainDesign->addCurtainColour($curtainColour1); $curtainColour2 = new CurtainColour(); $curtainColour2->setId(2); $curtainColour2->setName("two"); $curtainColour2->setinStock(0); $curtainColour2->setDisplay(1); $curtainColour2->setPosition(1); $curtainDesign->addCurtainColour($curtainColour2); $curtainColour3 = new CurtainColour(); $curtainColour3->setId(3); $curtainColour3->setName("three"); $curtainColour3->setinStock(1); $curtainColour3->setDisplay(0); $curtainColour1->setPosition(0); $curtainDesign->addCurtainColour($curtainColour3); $curtainColour4 = new CurtainColour(); $curtainColour4->setId(4); $curtainColour4->setName("four"); $curtainColour4->setinStock(0); $curtainColour4->setDisplay(1); $curtainColour4->setPosition(0); $curtainDesign->addCurtainColour($curtainColour4); $sortedColours = $curtainDesign->getOnDisplayCurtainColoursSortedByInStockAndPosition(); reset($sortedColours); $this->assertEquals("one", current($sortedColours)->getName()); $this->assertEquals("four", next($sortedColours)->getName()); $this->assertEquals("two", next($sortedColours)->getName()); }