public function testAccessors() { $charge = new Charge('charge'); $charge->setCreated(new \DateTime('2015-01-01 10:00:00'))->setPaid(true)->setCaptured(true)->setSource($card = new Card())->setRefunded(true)->addRefund($refund1 = new Refund())->addRefund($refund2 = new Refund())->setDispute($dispute = new Dispute()); $this->assertEquals('charge', $charge->getId()); $this->assertEquals(new \DateTime('2015-01-01 10:00:00'), $charge->getCreated()); $this->assertTrue($charge->isPaid()); $this->assertTrue($charge->isCaptured()); $this->assertSame($card, $charge->getSource()); $this->assertTrue($charge->isRefunded()); $this->assertCount(2, $charge->getRefunds()); $this->assertSame($refund1, $charge->getRefunds()[0]); $this->assertSame($refund2, $charge->getRefunds()[1]); $this->assertSame($dispute, $charge->getDispute()); $charge->setSource(null)->setDispute(null); $this->assertNull($charge->getSource(), 'source can be a null'); $this->assertNull($charge->getDispute(), 'dispute can be a null'); }