public function testGetObserversByClassName($className)
{
$config = $this->_config;
/** @var Aligent_CacheObserver_Model_Config $config */
$observers = $config->getObserversByClassName($className);
$this->assertTrue(is_array($observers), 'Expect observers to be an array.');
$expectedObservers = $this->expected($className)->getObservers();
$this->assertSameSize($expectedObservers, $observers);
// Don't ever expect boolean false values in array. see docs for current().
for (reset($expectedObservers), reset($observers), $i = 0; false !== ($expectedObserver = current($expectedObservers)), false !== ($observer = current($observers)); next($expectedObservers), next($observers), $i++) {
$this->assertSame($expectedObserver['model_alias'], $observer['model_alias'], 'Observer model alias mismatch');
$this->assertSame($expectedObserver['method'], $observer['method'], 'Observer method mismatch');
}
$this->assertSame(count($expectedObservers), $i, 'Check loop count in case of real false values in array');
}