From 63a7a7d4bf66f9f1bf2c0901e9f78b6ea9cc642b Mon Sep 17 00:00:00 2001
From: Moul <moul@moul.re>
Date: Wed, 8 May 2019 22:07:06 +0200
Subject: [PATCH] [test] transaction: test transaction equality at all levels

---
 tests/documents/test_transaction.py | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/tests/documents/test_transaction.py b/tests/documents/test_transaction.py
index 3ca48bb7..3fc15c8d 100644
--- a/tests/documents/test_transaction.py
+++ b/tests/documents/test_transaction.py
@@ -306,3 +306,29 @@ class TestTransaction(unittest.TestCase):
     def test_outputsource_inline_condition(self):
         o = OutputSource.from_inline(output_source_str)
         self.assertEqual(o.inline_condition(), output_source_str.split(":")[2])
+
+
+    def test_transaction_equality(self):
+        t1 = Transaction.from_signed_raw(tx_raw)
+        t2 = Transaction.from_signed_raw(tx_raw)
+
+        self.assertTrue(t1 == t2)
+
+        t2.signatures = ["NSTN"]
+        self.assertFalse(t1 == t2)
+
+        t2 = Transaction.from_signed_raw(tx_raw)
+        t2.issuers = ["NSTRNRST"]
+        self.assertFalse(t1 == t2)
+
+        t2 = Transaction.from_signed_raw(tx_raw)
+        t2.time = 123
+        self.assertFalse(t1 == t2)
+
+        t2 = Transaction.from_signed_raw(tx_raw)
+        t2.inputs = InputSource.from_inline(input_source_str)
+        self.assertFalse(t1 == t2)
+
+        t2 = Transaction.from_signed_raw(tx_raw)
+        t2.outputs = OutputSource.from_inline(output_source_str)
+        self.assertFalse(t1 == t2)
-- 
GitLab