public function testOrderFulfillmentByAmazonOrderId()
 {
     $xml = new \XMLWriter();
     $xml->openMemory();
     $xml->setIndent(true);
     $f = new OrderFulfillment($xml);
     $f->setAmazonOrderId('000-0000000-0000000')->setCarrierCode('UPS')->setFulfillmentDate(new \DateTime('2000-01-01T00:00:00-06:00'))->setMerchantFulfillmentId(123)->setShipperTrackingNumber('1Z0')->setShippingMethod('Ground');
     $f->writeXml();
     $dom = new \DOMDocument();
     $dom->loadXML($xml->outputMemory(true));
     $this->assertTrue($dom->schemaValidate(__DIR__ . '/../../../XSD/Fulfillment.xsd'));
 }
 /**
  * @depends testOrderFulfillmentFeed
  */
 public function testAddFulfillment()
 {
     $client = $this->getServiceBuilder()->get('test.mws');
     $feed = $client->getFeed('order_fulfillment');
     $fulfillment = new OrderFulfillment($feed->getXml());
     $fulfillment->setAmazonOrderId('000-123-123')->setShipperTrackingNumber('ASDF');
     $feed->addFulfillment($fulfillment);
     $dom = new \DOMDocument();
     $dom->loadXML($feed->toString());
     $this->assertSelectEquals('AmazonEnvelope Message MessageID', '1', true, $dom, null, false);
     $this->assertSelectEquals('AmazonEnvelope Message OperationType', 'Update', true, $dom, null, false);
     $this->assertSelectCount('AmazonEnvelope Message OrderFulfillment', 1, $dom, null, false);
     $this->assertSelectCount('AmazonEnvelope Message OrderFulfillment FulfillmentData', 1, $dom, null, false);
 }