function testComponensRegisteredWithClassKeyTakePrecedenceOverOthersWhenThereAreMultipleImplementations() { $pico = new DefaultPicoContainer(); $pico->regComponentImpl('AlternativeTouchable'); $pico->regComponentImpl('Touchable', 'SimpleTouchable'); $this->assertNotNull($pico->getComponentInstanceOfType('Touchable')); }
public function testResolvesInGrandParent() { $grandparent = new DefaultPicoContainer(); $grandparent->regComponentImpl('SimpleTouchableAnyKey', 'SimpleTouchable'); $parent = new DefaultPicoContainer(null, $grandparent); $child = new DefaultPicoContainer(null, $parent); $this->assertIsA($child->getComponentInstanceOfType('Touchable'), 'SimpleTouchable'); }