/**
  * @param array $billingData
  * @param array $expectedResult
  *
  * @dataProvider dataProviderBuild
  */
 public function testBuild($billingData, $expectedResult)
 {
     $billingMock = $this->getBillingMock($billingData);
     $this->paymentDOMock->expects(static::once())->method('getOrder')->willReturn($this->orderMock);
     $this->orderMock->expects(static::once())->method('getBillingAddress')->willReturn($billingMock);
     $buildSubject = ['payment' => $this->paymentDOMock];
     $this->subjectReaderMock->expects(self::once())->method('readPayment')->with($buildSubject)->willReturn($this->paymentDOMock);
     self::assertEquals($expectedResult, $this->builder->build($buildSubject));
 }
 public function testBuild()
 {
     $additionalData = [[DataAssignObserver::PAYMENT_METHOD_NONCE, self::PAYMENT_METHOD_NONCE]];
     $expectedResult = [PaymentDataBuilder::AMOUNT => 10.0, PaymentDataBuilder::PAYMENT_METHOD_NONCE => self::PAYMENT_METHOD_NONCE, PaymentDataBuilder::ORDER_ID => '000000101', PaymentDataBuilder::MERCHANT_ACCOUNT_ID => self::MERCHANT_ACCOUNT_ID];
     $buildSubject = ['payment' => $this->paymentDO, 'amount' => 10.0];
     $this->paymentMock->expects(static::exactly(count($additionalData)))->method('getAdditionalInformation')->willReturnMap($additionalData);
     $this->configMock->expects(static::once())->method('getValue')->with(Config::KEY_MERCHANT_ACCOUNT_ID)->willReturn(self::MERCHANT_ACCOUNT_ID);
     $this->paymentDO->expects(static::once())->method('getPayment')->willReturn($this->paymentMock);
     $this->paymentDO->expects(static::once())->method('getOrder')->willReturn($this->orderMock);
     $this->subjectReaderMock->expects(self::once())->method('readPayment')->with($buildSubject)->willReturn($this->paymentDO);
     $this->subjectReaderMock->expects(self::once())->method('readAmount')->with($buildSubject)->willReturn(10.0);
     $this->orderMock->expects(static::once())->method('getOrderIncrementId')->willReturn('000000101');
     static::assertEquals($expectedResult, $this->builder->build($buildSubject));
 }