public function testSerializationDeserialization()
{
$obj = new Order(self::getJson());
$this->assertNotNull($obj);
$this->assertNotNull($obj->getId());
$this->assertNotNull($obj->getReferenceId());
$this->assertNotNull($obj->getAmount());
$this->assertNotNull($obj->getPaymentMode());
$this->assertNotNull($obj->getState());
$this->assertNotNull($obj->getReasonCode());
$this->assertNotNull($obj->getPendingReason());
$this->assertNotNull($obj->getProtectionEligibility());
$this->assertNotNull($obj->getProtectionEligibilityType());
$this->assertNotNull($obj->getParentPayment());
$this->assertNotNull($obj->getFmfDetails());
$this->assertNotNull($obj->getCreateTime());
$this->assertNotNull($obj->getUpdateTime());
$this->assertNotNull($obj->getLinks());
$this->assertEquals(self::getJson(), $obj->toJson());
return $obj;
}