/** * Tests if the merge method works successfully. * * @return void */ public function testMergeSuccessful() { // initialize the configuration $node = new EpbRefNode(); $node->initFromFile(__DIR__ . '/_files/dd-epb-ref.xml'); // initialize the descriptor from the nodes data $this->descriptor->fromConfiguration($node); // initialize the descriptor to merge $descriptorToMerge = $this->getMockForAbstractClass('AppserverIo\\Description\\EpbReferenceDescriptor'); // initialize the configuration of the descriptor to be merged $nodeToMerge = new EpbRefNode(); $nodeToMerge->initFromFile(__DIR__ . '/_files/dd-epb-ref-to-merge.xml'); $descriptorToMerge->fromConfiguration($nodeToMerge); // merge the descriptors $this->descriptor->merge($descriptorToMerge); // check if all values have been initialized $this->assertSame('env/MyUserProcessor', $this->descriptor->getName()); $this->assertSame('Another Description', $this->descriptor->getDescription()); $this->assertSame('php:global/example/MyUserProcessor', $this->descriptor->getLookup()); $this->assertSame('MyUserProcessorLocal', $this->descriptor->getBeanInterface()); $this->assertSame('MyUserProcessor', $this->descriptor->getBeanName()); $this->assertInstanceOf('AppserverIo\\Description\\InjectionTargetDescriptor', $injectTarget = $this->descriptor->getInjectionTarget()); $this->assertSame('AppserverIo\\Apps\\Example\\Services\\ASampleProcessor', $injectTarget->getTargetClass()); $this->assertSame('aSampleProcessor', $injectTarget->getTargetProperty()); $this->assertNull($injectTarget->getTargetMethod()); }