def test_json_restoration_required(self):
     outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ]
     original = paymentrequest.PaymentRequest(outputs)
     json_value = original.to_json()
     restored = paymentrequest.PaymentRequest.from_json(json_value)
     self.assertEqual(len(original.outputs), len(restored.outputs))
     self.assertEqual(original.outputs[0].script, restored.outputs[0].script)
     self.assertEqual(original.creation_timestamp, restored.creation_timestamp)
     self.assertEqual(original.expiration_timestamp, restored.expiration_timestamp)
     self.assertEqual(original.memo, restored.memo)
     self.assertEqual(original.payment_url, restored.payment_url)
     self.assertEqual(original.merchant_data, restored.merchant_data)
 def test_dict_optional_fields_used(self):
     outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ]
     creation_timestamp = int(time.time() + 100)
     expiration_timestamp = creation_timestamp + 100
     request = paymentrequest.PaymentRequest(
         outputs, creation_timestamp, expiration_timestamp, "memo", "pay_url", "merchant_data")
     json_value = request.to_json()
     data = json.loads(json_value)
     self.assertTrue('creationTimestamp' in data)
     self.assertTrue('expirationTimestamp' in data)
     self.assertTrue('memo' in data)
     self.assertTrue('paymentUrl' in data)
     self.assertTrue('merchantData' in data)
 def test_json_restoration_all(self):
     outputs = [ paymentrequest.Output(P2PKH_SCRIPT) ]
     creation_timestamp = int(time.time() + 100)
     expiration_timestamp = creation_timestamp + 100
     original = paymentrequest.PaymentRequest(
         outputs, creation_timestamp, expiration_timestamp, "memo", "pay_url", "merchant_data")
     json_value = original.to_json()
     restored = paymentrequest.PaymentRequest.from_json(json_value)
     self.assertEqual(len(original.outputs), len(restored.outputs))
     self.assertEqual(original.outputs[0].script, restored.outputs[0].script)
     self.assertEqual(original.creation_timestamp, restored.creation_timestamp)
     self.assertEqual(original.expiration_timestamp, restored.expiration_timestamp)
     self.assertEqual(original.memo, restored.memo)
     self.assertEqual(original.payment_url, restored.payment_url)
     self.assertEqual(original.merchant_data, restored.merchant_data)