public function flushCachesByTagCallsTheFlushByTagMethodOfAllRegisteredCaches()
{
$cache1 = $this->getMockBuilder(Cache\Frontend\AbstractFrontend::class)->disableOriginalConstructor()->getMock();
$cache1->expects($this->atLeastOnce())->method('getIdentifier')->will($this->returnValue('cache1'));
$cache1->expects($this->once())->method('flushByTag')->with($this->equalTo('theTag'));
$this->cacheManager->registerCache($cache1);
$cache2 = $this->getMockBuilder(Cache\Frontend\AbstractFrontend::class)->disableOriginalConstructor()->getMock();
$cache2->expects($this->atLeastOnce())->method('getIdentifier')->will($this->returnValue('cache2'));
$cache2->expects($this->once())->method('flushByTag')->with($this->equalTo('theTag'));
$this->cacheManager->registerCache($cache2);
$persistentCache = $this->getMockBuilder(Cache\Frontend\AbstractFrontend::class)->disableOriginalConstructor()->getMock();
$persistentCache->expects($this->atLeastOnce())->method('getIdentifier')->will($this->returnValue('persistentCache'));
$persistentCache->expects($this->never())->method('flushByTag')->with($this->equalTo('theTag'));
$this->cacheManager->registerCache($persistentCache, true);
$this->cacheManager->flushCachesByTag('theTag');
}