/** * Tests setPaymentStatuses() and getPaymentStatuses(). */ protected function testGetPaymentStatuses() { $statuses = array($this->statusManager->createInstance('payment_pending'), $this->statusManager->createInstance('payment_failed')); $this->assertEqual(spl_object_hash($this->payment->setPaymentStatuses($statuses)), spl_object_hash($this->payment)); $retrieved_statuses = $this->payment->getPaymentStatuses(); $this->assertEqual(spl_object_hash(reset($retrieved_statuses)), spl_object_hash(reset($statuses))); $this->assertEqual(spl_object_hash(end($retrieved_statuses)), spl_object_hash(end($statuses))); // Make sure we always get the last status. $this->assertEqual(spl_object_hash($this->payment->getPaymentStatus()), spl_object_hash(end($statuses))); }