/**
  * Tests the hash calculation for a card-update transaction.
  */
 public function testDccAuthHashGeneration()
 {
     $card = new Card();
     $card->addNumber(SampleXmlValidationUtils::DCC_AUTH_CARD_NUMBER)->addExpiryDate(SampleXmlValidationUtils::DCC_AUTH_CARD_EXPIRY_DATE)->addCardHolderName(SampleXmlValidationUtils::DCC_AUTH_CARD_HOLDER_NAME)->addType(SampleXmlValidationUtils::DCC_AUTH_CARD_TYPE);
     // add dccinfo. Note that the type is not set as it is already defaulted to 1
     $dccInfo = new DccInfo();
     $dccInfo->addDccProcessor(SampleXmlValidationUtils::DCC_AUTH_CCP);
     $request = new PaymentRequest();
     $request->addTimeStamp(SampleXmlValidationUtils::DCC_AUTH_TIMESTAMP)->addMerchantId(SampleXmlValidationUtils::DCC_AUTH_MERCHANT_ID)->addAmount(SampleXmlValidationUtils::DCC_AUTH_AMOUNT)->addCurrency(SampleXmlValidationUtils::DCC_AUTH_CURRENCY)->addOrderId(SampleXmlValidationUtils::DCC_AUTH_ORDER_ID)->addCard($card)->addDccInfo($dccInfo);
     $request->hash(SampleXmlValidationUtils::SECRET);
     $this->assertEquals(SampleXmlValidationUtils::DCC_AUTH_REQUEST_HASH, $request->getHash());
 }