public function testIdQuery(EntityManager $em)
{
$a = new IndexedEntity();
$a->setId1('1');
$a->setId2('first');
$a->setAlpha('alpha1');
$a->setBravo(1);
$a->setCharlie(true);
$b = new IndexedEntity();
$b->setId1('2');
$b->setId2('second');
$b->setAlpha('alpha2');
$b->setBravo(2);
$b->setCharlie(false);
$em->persist($a)->persist($b)->flush();
$result = $em->indexedQuery(new IndexedQuery(IndexedEntity::class, ['@id' => '1.fir*']));
$this->assertCount(1, $result);
/** @var IndexedEntity $entity */
$entity = $result->current();
$this->assertEquals('1', $entity->getId1());
$this->assertEquals('first', $entity->getId2());
$this->assertEquals('alpha1', $entity->getAlpha());
$result = $em->indexedQuery(new IndexedQuery(IndexedEntity::class, ['@id' => '*']));
$this->assertGreaterThanOrEqual(2, count($result));
$result = $em->indexedQuery(new IndexedQuery(IndexedEntity::class, ['@id' => '*', 'ab' => 'alpha1*']));
$this->assertCount(1, $result);
/** @var IndexedEntity $entity */
$entity = $result->current();
$this->assertEquals('1', $entity->getId1());
$this->assertEquals('first', $entity->getId2());
$this->assertEquals('alpha1', $entity->getAlpha());
}