setType(self::$cardType); $card->setNumber(self::$cardNumber); $card->setExpireMonth(self::$expireMonth); $card->setExpireYear(self::$expireYear); $card->setCvv2(self::$cvv); $card->setFirstName(self::$firstName); $card->setLastName(self::$lastName); $card->setId(self::$id); $card->setValidUntil(self::$validUntil); $card->setState(self::$state); return $card; } public function setup() { $card = self::createCreditCard(); $card->setBillingAddress(AddressTest::createAddress()); $card->setLinks(array(LinksTest::createLinks())); $this->cards['full'] = $card; $card = self::createCreditCard(); $this->cards['partial'] = $card; } public function testGetterSetters() { $cardHistory = new CreditCardHistory(); $cardHistory->setCreditCards(array($this->cards['partial'], $this->cards['full'])); $cardHistory->setCount(2); $this->assertEquals(2, count($cardHistory->getCreditCards())); } public function testSerializationDeserialization() { $cardHistory = new CreditCardHistory(); $cardHistory->setCreditCards(array($this->cards['partial'], $this->cards['full'])); $cardHistory->setCount(2); $cardHistoryCopy = new CreditCardHistory(); $cardHistoryCopy->fromJson($cardHistory->toJSON()); $this->assertEquals($cardHistory, $cardHistoryCopy); } }