/**
  * Create the DOMDocument representing the feed. Should initialize (add root
  * node and message header) the DOMDocument, build out and append fragments
  * for each item to be included, and validate the resulting DOM.
  */
 public function testCreateDomFromFeedData()
 {
     $itemNode = 'Item';
     $isValidate = 'true';
     $this->_doc->loadXML('<root></root>');
     $itemFragment = $this->_doc->createDocumentFragment();
     $itemFragment->appendChild($this->_doc->createElement('Item'));
     $pimProduct = $this->getModelMockBuilder('ebayenterprise_catalog/pim_product')->disableOriginalConstructor()->getMock();
     $this->replaceByMock('helper', 'eb2ccore', $this->_coreHelper);
     $this->_coreHelper->expects($this->once())->method('parseBool')->with($this->identicalTo($isValidate))->will($this->returnValue(true));
     $this->_pimProductCollection->expects($this->once())->method('getItems')->will($this->returnValue(array($pimProduct)));
     $pim = $this->getModelMockBuilder('ebayenterprise_catalog/pim')->disableOriginalConstructor()->setMethods(array('_buildItemNode', '_startDocument', '_validateDocument', '_getFeedConfig'))->getMock();
     $pim->expects($this->once())->method('_startDocument')->will($this->returnSelf());
     $pim->expects($this->once())->method('_buildItemNode')->with($this->identicalTo($pimProduct), $this->identicalTo($itemNode))->will($this->returnValue($itemFragment));
     $pim->expects($this->once())->method('_validateDocument')->will($this->returnSelf());
     $pim->expects($this->once())->method('_getFeedConfig')->will($this->returnValue($this->_feedTypeConfig));
     EcomDev_Utils_Reflection::setRestrictedPropertyValue($pim, '_doc', $this->_doc);
     $this->assertSame($this->_doc, EcomDev_Utils_Reflection::invokeRestrictedMethod($pim, '_createDomFromFeedData', array($this->_pimProductCollection, $this->_feedTypeConfig)));
     $this->assertSame('<root><Item></Item></root>', $this->_doc->C14N());
 }