/**
  * Scenario: Extract tracking data from shipment
  * Given a shipment object
  * When extracting tracking data from shipment
  * Then extract all tracking data.
  *
  * @param Mage_Sales_Model_Order
  * @param EbayEnterprise_Order_Model_Detail_Process_Response_Shipment
  * @param Varien_Object
  * @param string
  * @param string
  * @dataProvider providerExtractTrackingDataFromShipment
  */
 public function testExtractTrackingDataFromShipment(Mage_Sales_Model_Order $order, EbayEnterprise_Order_Model_Detail_Process_Response_Shipment $shipment, Varien_Object $track, $shipmentId, $trackingNumber)
 {
     /** @var EbayEnterprise_Order_Model_Tracking */
     $tracking = $this->getModelMock('ebayenterprise_order/tracking', ['getTrack'], false, [['order' => $order, 'shipment_id' => $shipmentId, 'tracking_number' => $trackingNumber]]);
     $tracking->expects($this->once())->method('getTrack')->with($this->identicalTo($shipment), $this->identicalTo($track->getTracking()))->will($this->returnValue($track));
     $this->assertSame([$track], EcomDev_Utils_Reflection::invokeRestrictedMethod($tracking, 'extractTrackingDataFromShipment', [$shipment]));
 }