public function testGetSinglePropertyAdviceForClassFromAdvisor()
{
$propName = 'adviceMatcher';
// $this->adviceMatcher;
$pointcut = $this->getMock(Pointcut::class);
$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(Advice::class);
$advisor = new DefaultPointcutAdvisor($pointcut, $advice);
$advices = $this->adviceMatcher->getAdvicesForClass($this->reflectionClass, array($advisor));
$this->assertArrayHasKey(AspectContainer::PROPERTY_PREFIX, $advices);
$this->assertArrayHasKey($propName, $advices[AspectContainer::PROPERTY_PREFIX]);
$this->assertCount(1, $advices[AspectContainer::PROPERTY_PREFIX]);
}