/** * Test forced adapter */ public function testForce() { $this->assertFalse($this->factory->isAdapterRegistered('adapterForce')); $this->assertSame(null, $this->factory->factory('adapterForce')); $this->factory->registerAdapter('adapterForce', __CLASS__ . '\\AdapterForce'); $this->assertInstanceOf(__CLASS__ . '\\AdapterForce', $this->factory->factory(array('param1' => 'value1'))); $this->assertInstanceOf(__CLASS__ . '\\AdapterForce', $this->factory->factory(array('param2' => 'value2'))); $adapter = $this->factory->factory(array('param1' => 'value1'), array('param2' => 'value2')); $this->assertInstanceOf(__CLASS__ . '\\AdapterForce', $adapter); $this->assertSame('value1', $adapter->getOption('param1')); $this->assertSame('value2', $adapter->getOption('param2')); $adapter = null; $adapter = $this->factory->factory(new Config(array('param1' => 'value1')), new Config(array('param2' => 'value2'))); $this->assertInstanceOf(__CLASS__ . '\\AdapterForce', $adapter); $this->assertSame('value1', $adapter->getOption('param1')); $this->assertSame('value2', $adapter->getOption('param2')); $this->assertTrue($this->factory->isAdapterRegistered($adapter)); $this->factory->unregisterAdapter('adapterForce'); $this->assertSame(null, $this->factory->factory('adapterForce')); $this->assertFalse($this->builder->isAdapterRegistered($this->factory, $adapter)); $this->assertFalse($this->builder->isAdapterRegistered('NonExistingFactory', 'NonExistingAdapter')); }
/** * Is adapter registered? * * @param string|Zork_Factory_AdapterInterface $adapter name or class * @return bool */ public function isAdapterRegistered($adapter) { return $this->builder->isAdapterRegistered(get_called_class(), $adapter); }