dom = new DOMDocument(); $this->dom->loadXML(''); $this->bundles = new BundlesElement($this->dom->documentElement); } public function testThrowsExceptionWhenGetComponentElementsIsCalledButNodesAreMissing() { $this->expectException(ManifestElementException::class); $this->bundles->getComponentElements(); } public function testGetComponentElementsReturnsComponentElementCollection() { $this->addComponent(); $this->assertInstanceOf( ComponentElementCollection::class, $this->bundles->getComponentElements() ); } private function addComponent() { $this->dom->documentElement->appendChild( $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'component') ); } }