/**
  * @test
  * @author Karsten Dambekalns <*****@*****.**>
  */
 public function reinjectDependenciesTriesToDependencyInjectPropertiesWhichAreNotPersistable()
 {
     $mockReflectionService = $this->getMock('F3\\FLOW3\\Reflection\\ReflectionService');
     $mockReflectionService->expects($this->any())->method('getPropertyNamesByTag')->will($this->returnValue(array()));
     $objectBuilder = new \F3\FLOW3\Object\ObjectBuilder();
     $objectBuilder->injectObjectManager($this->mockObjectManager);
     $objectBuilder->injectObjectFactory($this->mockObjectFactory);
     $objectBuilder->injectReflectionService($mockReflectionService);
     $objectConfiguration = new \F3\FLOW3\Object\Configuration\Configuration('F3\\FLOW3\\Tests\\Object\\Fixture\\ReconstitutableClassWithSimpleProperties');
     $objectConfiguration->setProperty(new \F3\FLOW3\Object\Configuration\ConfigurationProperty('stringDependency', 'wasInjected'));
     $object = $objectBuilder->createEmptyObject('F3\\FLOW3\\Tests\\Object\\Fixture\\ReconstitutableClassWithSimpleProperties', $objectConfiguration);
     $objectBuilder->reinjectDependencies($object, $objectConfiguration);
     $this->assertEquals('wasInjected', $object->FLOW3_AOP_Proxy_getProperty('stringDependency'));
 }
 /**
  * @test
  * @author Robert Lemke <*****@*****.**>
  */
 public function settingsCanBeInjectedAsArgumentOrProperty()
 {
     $configurationArray = array();
     $configurationArray['arguments'][1]['setting'] = 'F3.Foo.Bar';
     $configurationArray['properties']['someProperty']['setting'] = 'F3.Bar.Baz';
     $objectConfiguration = new \F3\FLOW3\Object\Configuration\Configuration('TestObject', 'TestObject');
     $objectConfiguration->setArgument(new \F3\FLOW3\Object\Configuration\ConfigurationArgument(1, 'F3.Foo.Bar', \F3\FLOW3\Object\Configuration\ConfigurationProperty::PROPERTY_TYPES_SETTING));
     $objectConfiguration->setProperty(new \F3\FLOW3\Object\Configuration\ConfigurationProperty('someProperty', 'F3.Bar.Baz', \F3\FLOW3\Object\Configuration\ConfigurationProperty::PROPERTY_TYPES_SETTING));
     $builtObjectConfiguration = \F3\FLOW3\Object\Configuration\ConfigurationBuilder::buildFromConfigurationArray('TestObject', $configurationArray, __CLASS__);
     $this->assertEquals($objectConfiguration, $builtObjectConfiguration);
 }