public function testLocateIdentifiersByTypeCallsFindReflectionsOfType()
{
/** @var Reflector|\PHPUnit_Framework_MockObject_MockObject $mockReflector */
$mockReflector = $this->createMock(Reflector::class);
$locatedSource = new LocatedSource('<?php class Foo{}', null);
$identifierType = new IdentifierType(IdentifierType::IDENTIFIER_CLASS);
$mockReflection = $this->createMock(ReflectionClass::class);
/** @var AstLocator|\PHPUnit_Framework_MockObject_MockObject $astLocator */
$astLocator = $this->createMock(AstLocator::class);
$astLocator->expects($this->once())->method('findReflectionsOfType')->with($mockReflector, $locatedSource, $identifierType)->will($this->returnValue([$mockReflection]));
/** @var AbstractSourceLocator|\PHPUnit_Framework_MockObject_MockObject $sourceLocator */
$sourceLocator = $this->getMockBuilder(AbstractSourceLocator::class)->setConstructorArgs([$astLocator])->setMethods(['createLocatedSource'])->getMock();
$sourceLocator->expects($this->once())->method('createLocatedSource')->will($this->returnValue($locatedSource));
$this->assertSame([$mockReflection], $sourceLocator->locateIdentifiersByType($mockReflector, $identifierType));
}