public function testInvalidateEntity()
 {
     $key = 'test';
     // cache a result and class
     $this->cache->registerQueryResult($this->entity, $key);
     $this->cache->registerQueryForEntity($this->entity, $key);
     // expire the entity: entity key should be removed, class key not
     $this->cache->invalidateEntity($this->entity);
     $this->assertNotContains($key, $this->cache->getRegisteredKeys($this->entityCacheKey));
     $this->assertContains($key, $this->cache->getRegisteredKeys($this->entityCacheClass));
 }
 /**
  * @param LifecycleEventArgs $args
  */
 public function preRemove(LifecycleEventArgs $args)
 {
     $entity = $args->getEntity();
     $this->entityCache->invalidateEntity($entity);
     $this->entityCache->invalidateEntityQueries($entity);
 }