/**
  * @test
  * @author Karsten Dambekalns <*****@*****.**>
  */
 public function isClassImplementationOfReturnsTrueIfClassImplementsSpecifiedInterface()
 {
     $availableClassNames = array('F3\\FLOW3\\Tests\\Reflection\\Fixture\\ImplementationOfDummyInterface1');
     $reflectionService = new \F3\FLOW3\Reflection\ReflectionService();
     $reflectionService->setStatusCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\StringFrontend', array(), array(), '', FALSE));
     $reflectionService->setDataCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\VariableFrontend', array(), array(), '', FALSE));
     $reflectionService->injectSystemLogger($this->getMock('F3\\FLOW3\\Log\\SystemLoggerInterface'));
     $reflectionService->initialize($availableClassNames);
     $this->assertTrue($reflectionService->isClassImplementationOf('F3\\FLOW3\\Tests\\Reflection\\Fixture\\ImplementationOfDummyInterface1', 'F3\\FLOW3\\Tests\\Reflection\\Fixture\\DummyInterface1'));
     $this->assertFalse($reflectionService->isClassImplementationOf('F3\\FLOW3\\Tests\\Reflection\\Fixture\\ImplementationOfDummyInterface1', 'F3\\FLOW3\\Tests\\Reflection\\Fixture\\DummyInterface2'));
 }
 /**
  * @test
  * @author Sebastian Kurfürst <*****@*****.**>
  */
 public function prepareArgumentsRegistersAnnotationBasedArgumentsWithoutDescriptionIfDebugModeIsDisabled()
 {
     \F3\Fluid\Fluid::$debugMode = FALSE;
     $availableClassNames = array('F3\\Fluid\\Core\\Fixtures\\TestViewHelper');
     $reflectionService = new \F3\FLOW3\Reflection\ReflectionService();
     $reflectionService->setStatusCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\StringFrontend', array(), array(), '', FALSE));
     $reflectionService->setDataCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\VariableFrontend', array(), array(), '', FALSE));
     $reflectionService->initialize($availableClassNames);
     $viewHelper = new \F3\Fluid\Core\Fixtures\TestViewHelper();
     $viewHelper->injectReflectionService($reflectionService);
     $expected = array('param1' => new \F3\Fluid\Core\ViewHelper\ArgumentDefinition('param1', 'integer', '', TRUE, null, TRUE), 'param2' => new \F3\Fluid\Core\ViewHelper\ArgumentDefinition('param2', 'array', '', TRUE, null, TRUE), 'param3' => new \F3\Fluid\Core\ViewHelper\ArgumentDefinition('param3', 'string', '', FALSE, 'default', TRUE));
     $this->assertEquals($expected, $viewHelper->prepareArguments(), 'Annotation based arguments were not registered.');
 }