public function getSortedMatchesFiltersTheGivenDomainsByTheSpecifiedHostAndReturnsThemSortedWithBestMatchesFirst() { $mockDomains = array($this->getMockBuilder(Domain::class)->disableOriginalConstructor()->setMethods(array('dummy'))->getMock(), $this->getMockBuilder(Domain::class)->disableOriginalConstructor()->setMethods(array('dummy'))->getMock(), $this->getMockBuilder(Domain::class)->disableOriginalConstructor()->setMethods(array('dummy'))->getMock(), $this->getMockBuilder(Domain::class)->disableOriginalConstructor()->setMethods(array('dummy'))->getMock()); $mockDomains[0]->setHostname('neos.io'); $mockDomains[1]->setHostname('flow.neos.io'); $mockDomains[3]->setHostname('yacumboolu.neos.io'); $expectedDomains = array($mockDomains[1], $mockDomains[0]); $strategy = new DomainMatchingStrategy(); $actualDomains = $strategy->getSortedMatches('flow.neos.io', $mockDomains); $this->assertSame($expectedDomains, $actualDomains); }