protected function setUp()
 {
     parent::setUp();
     /** @var AbstractRequest $request */
     $this->request = $this->getMockBuilder('\\Omnipay\\Wirecard\\Message\\AbstractRequest')->setMethods(['buildData'])->disableOriginalConstructor()->getMock();
     $this->request->initialize(['card' => $this->getValidCard(), 'transactionId' => 1234, 'transactionReference' => '30FWE6HR325GB0', 'amount' => 100.0, 'currency' => 'EUR', 'countryCode' => 'DE', 'token' => 'gqw5gwDWg$#%he&N4678iu3e56g1$5g']);
 }
 /**
  * @return Transaction
  */
 public function build()
 {
     $transaction = new Transaction();
     $transaction->id = $this->request->getTransactionId();
     $transaction->guWid = $this->request->getTransactionReference();
     return $transaction;
 }
 /**
  * @return Transaction
  */
 public function build()
 {
     /** @var CreditCard $creditCard */
     $creditCard = $this->request->getCard();
     $creditCardData = new CreditCardData();
     $creditCardData->creditCardNumber = $creditCard->getNumber();
     $creditCardData->setExpirationDate($creditCard->getExpiryDate('Y-m'));
     $creditCardData->cardHolderName = $creditCard->getName();
     $address = new BillingAddress($creditCard->getFirstName(), $creditCard->getLastName(), $creditCard->getAddress1(), $creditCard->getAddress2(), $creditCard->getCity(), $creditCard->getPostcode(), $creditCard->getState(), $creditCard->getCountry(), $creditCard->getPhone(), $creditCard->getEmail());
     $trustCenter = new TrustCenterData($address);
     $transaction = new Transaction();
     $transaction->id = $this->request->getTransactionId();
     $transaction->amount = new Amount($this->request->getAmount());
     $transaction->currency = $this->request->getCurrency();
     $transaction->countryCode = $this->request->getCountryCode();
     $transaction->creditCardData = $creditCardData;
     $transaction->trustCenterData = $trustCenter;
     return $transaction;
 }