/**
  * @param string $method
  * @param string $carrierCode
  * @param string $methodCode
  * @dataProvider saveDataProvider
  */
 public function testSave($method, $carrierCode, $methodCode)
 {
     $shipping = $this->getMockForAbstractClass(ShippingInterface::class);
     $quote = $this->getMockForAbstractClass(CartInterface::class);
     $quoteId = 1;
     $address = $this->getMockForAbstractClass(AddressInterface::class);
     $quote->expects(static::exactly(2))->method('getId')->willReturn($quoteId);
     $shipping->expects(static::once())->method('getAddress')->willReturn($address);
     $this->shippingAddressManagement->expects(static::once())->method('assign')->with($quoteId, $address);
     $shipping->expects(static::exactly(2))->method('getMethod')->willReturn($method);
     $quote->expects(static::once())->method('getItemsCount')->willReturn(1);
     $this->shippingMethodManagement->expects(static::once())->method('apply')->with($quoteId, $carrierCode, $methodCode);
     $this->shippingProcessor->save($shipping, $quote);
 }