/**
* Check that list of advices for fields works correctly
*/
public function testGetSinglePropertyAdviceForClassFromAdvisor()
{
$propName = 'container';
// $this->container;
$pointcut = $this->getMock('Go\\Aop\\Pointcut');
$pointcut->expects($this->any())->method('getClassFilter')->will($this->returnValue(TruePointFilter::getInstance()));
$pointcut->expects($this->any())->method('matches')->will($this->returnCallback(function ($point) use($propName) {
return $point->name === $propName;
}));
$pointcut->expects($this->any())->method('getKind')->will($this->returnValue(Pointcut::KIND_PROPERTY));
$advice = $this->getMock('Go\\Aop\\Advice');
$advisor = new DefaultPointcutAdvisor($pointcut, $advice);
$this->container->registerAdvisor($advisor, 'test');
$advices = $this->adviceMatcher->getAdvicesForClass(__CLASS__);
$this->assertArrayHasKey(AspectContainer::PROPERTY_PREFIX, $advices);
$this->assertArrayHasKey($propName, $advices[AspectContainer::PROPERTY_PREFIX]);
$this->assertCount(1, $advices[AspectContainer::PROPERTY_PREFIX]);
}