/**
  * @test
  * @return void
  */
 public function invokeDoesNotInvokeTheAdviceIfTheRuntimeEvaluatorReturnsFalse()
 {
     $mockAdviceChain = $this->getMock(\TYPO3\Flow\Aop\Advice\AdviceChain::class, array(), array(), '', FALSE);
     $mockAdviceChain->expects($this->once())->method('proceed')->will($this->returnValue('result'));
     $mockJoinPoint = $this->getMock(\TYPO3\Flow\Aop\JoinPointInterface::class, array(), array(), '', FALSE);
     $mockJoinPoint->expects($this->any())->method('getAdviceChain')->will($this->returnValue($mockAdviceChain));
     $mockAspect = $this->getMock('MockClass' . md5(uniqid(mt_rand(), TRUE)), array('someMethod'));
     $mockAspect->expects($this->never())->method('someMethod');
     $mockObjectManager = $this->getMock(\TYPO3\Flow\Object\ObjectManagerInterface::class, array(), array(), '', FALSE);
     $mockObjectManager->expects($this->any())->method('get')->will($this->returnValue($mockAspect));
     $advice = new \TYPO3\Flow\Aop\Advice\AroundAdvice('aspectObjectName', 'someMethod', $mockObjectManager, function (\TYPO3\Flow\Aop\JoinPointInterface $joinPoint) {
         if ($joinPoint !== NULL) {
             return FALSE;
         }
     });
     $result = $advice->invoke($mockJoinPoint);
     $this->assertEquals($result, 'result', 'The around advice did not return the result value as expected.');
 }
 /**
  * @test
  * @return void
  */
 public function invokeDoesNotInvokeTheAdviceIfTheRuntimeEvaluatorReturnsFalse()
 {
     $mockAdviceChain = $this->getMockBuilder(\TYPO3\Flow\Aop\Advice\AdviceChain::class)->disableOriginalConstructor()->getMock();
     $mockAdviceChain->expects($this->once())->method('proceed')->will($this->returnValue('result'));
     $mockJoinPoint = $this->createMock(\TYPO3\Flow\Aop\JoinPointInterface::class);
     $mockJoinPoint->expects($this->any())->method('getAdviceChain')->will($this->returnValue($mockAdviceChain));
     $mockAspect = $this->getMockBuilder('MockClass' . md5(uniqid(mt_rand(), true)))->setMethods(array('someMethod'))->getMock();
     $mockAspect->expects($this->never())->method('someMethod');
     $mockObjectManager = $this->createMock(\TYPO3\Flow\Object\ObjectManagerInterface::class);
     $mockObjectManager->expects($this->any())->method('get')->will($this->returnValue($mockAspect));
     $advice = new \TYPO3\Flow\Aop\Advice\AroundAdvice('aspectObjectName', 'someMethod', $mockObjectManager, function (\TYPO3\Flow\Aop\JoinPointInterface $joinPoint) {
         if ($joinPoint !== null) {
             return false;
         }
     });
     $result = $advice->invoke($mockJoinPoint);
     $this->assertEquals($result, 'result', 'The around advice did not return the result value as expected.');
 }