getMock('Dflydev\PlaceholderResolver\PlaceholderResolverInterface'); $placeholderResolverFactory = $this->getMock('Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface'); $placeholderResolverFactory ->expects($this->once()) ->method('create') ->will($this->returnValue($placeholderResolver)) ; $configurationBuilder = $this->getMockForAbstractClass('Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder'); $configurationBuilder ->expects($this->once()) ->method('internalBuild') ; $configurationBuilder->setPlaceholderResolverFactory($placeholderResolverFactory); $configurationBuilder->build(); } public function testReconfigure() { $configuration000 = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationInterface'); $configuration000 ->expects($this->exactly(2)) ->method('get') ->with($this->equalTo('foo')) ->will($this->returnValue('FOO')) ; $configuration001 = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationInterface'); $configuration001 ->expects($this->exactly(2)) ->method('get') ->with($this->equalTo('bar')) ->will($this->returnValue('BAR')) ; $placeholderResolver = $this->getMock('Dflydev\PlaceholderResolver\PlaceholderResolverInterface'); $placeholderResolverFactory = $this->getMock('Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface'); $placeholderResolverFactory ->expects($this->exactly(2)) ->method('create') ->will($this->returnValue($placeholderResolver)) ; $configurationFactory = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface'); $configurationFactory ->expects($this->exactly(2)) ->method('create') ->will($this->onConsecutiveCalls($configuration000, $configuration001)); ; $configurationBuilder = $this->getMockForAbstractClass('Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder'); $configurationBuilder->setPlaceholderResolverFactory($placeholderResolverFactory); $configurationBuilder->setConfigurationFactory($configurationFactory); $reconfiguredConfigurationBuilder = $this->getMockForAbstractClass('Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder'); $configurationBuilder->reconfigure($reconfiguredConfigurationBuilder); $configurationTest000 = $configurationBuilder->build(); $configurationTest001 = $reconfiguredConfigurationBuilder->build(); $this->assertEquals('FOO', $configuration000->get('foo')); $this->assertEquals('FOO', $configurationTest000->get('foo')); $this->assertEquals('BAR', $configuration001->get('bar')); $this->assertEquals('BAR', $configurationTest001->get('bar')); } }