public function invokeInvokesTheAdviceIfTheRuntimeEvaluatorReturnsTrue()
{
$mockJoinPoint = $this->getMockBuilder(Aop\JoinPointInterface::class)->disableOriginalConstructor()->getMock();
$mockAspect = $this->createMock(Fixtures\SomeClass::class);
$mockAspect->expects($this->once())->method('someMethod')->with($mockJoinPoint)->will($this->returnValue('result'));
$mockObjectManager = $this->getMockBuilder(ObjectManagerInterface::class)->disableOriginalConstructor()->getMock();
$mockObjectManager->expects($this->once())->method('get')->with('aspectObjectName')->will($this->returnValue($mockAspect));
$advice = new Aop\Advice\AroundAdvice('aspectObjectName', 'someMethod', $mockObjectManager, function (Aop\JoinPointInterface $joinPoint) {
if ($joinPoint !== null) {
return true;
}
});
$result = $advice->invoke($mockJoinPoint);
$this->assertEquals($result, 'result', 'The around advice did not return the result value as expected.');
}