public function testGetCollection()
{
$queryProphecy = $this->prophesize(AbstractQuery::class);
$queryProphecy->getResult()->willReturn([])->shouldBeCalled();
$queryBuilderProphecy = $this->prophesize(QueryBuilder::class);
$queryBuilderProphecy->getQuery()->willReturn($queryProphecy->reveal())->shouldBeCalled();
$queryBuilder = $queryBuilderProphecy->reveal();
$repositoryProphecy = $this->prophesize(EntityRepository::class);
$repositoryProphecy->createQueryBuilder('o')->willReturn($queryBuilder)->shouldBeCalled();
$managerProphecy = $this->prophesize(ObjectManager::class);
$managerProphecy->getRepository(Dummy::class)->willReturn($repositoryProphecy->reveal())->shouldBeCalled();
$managerRegistryProphecy = $this->prophesize(ManagerRegistry::class);
$managerRegistryProphecy->getManagerForClass(Dummy::class)->willReturn($managerProphecy->reveal())->shouldBeCalled();
$extensionProphecy = $this->prophesize(QueryCollectionExtensionInterface::class);
$extensionProphecy->applyToCollection($queryBuilder, Argument::type(QueryNameGeneratorInterface::class), Dummy::class, 'foo')->shouldBeCalled();
$dataProvider = new CollectionDataProvider($managerRegistryProphecy->reveal(), [$extensionProphecy->reveal()]);
$this->assertEquals([], $dataProvider->getCollection(Dummy::class, 'foo'));
}