details:   https://code.tryton.org/tryton/commit/17f3fe970eac
branch:    default
user:      Cédric Krier <[email protected]>
date:      Wed Sep 24 09:29:03 2025 +0200
description:
        Add tests for __eq__ and __lt__ of Model
diffstat:

 trytond/trytond/tests/test_model.py |  64 +++++++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diffs (74 lines):

diff -r 5ebdd1b3189c -r 17f3fe970eac trytond/trytond/tests/test_model.py
--- a/trytond/trytond/tests/test_model.py       Wed Sep 24 09:28:39 2025 +0200
+++ b/trytond/trytond/tests/test_model.py       Wed Sep 24 09:29:03 2025 +0200
@@ -33,6 +33,70 @@
             repr(record), "Pool().get('test.model')(%s)" % record.id)
 
     @with_transaction()
+    def test_eq(self):
+        "Test equal"
+        pool = Pool()
+        Model = pool.get('test.model')
+
+        record1 = Model(id=1)
+        record1bis = Model(id=1)
+        record2 = Model(id=2)
+
+        self.assertEqual(record1, record1bis)
+        self.assertNotEqual(record1, record2)
+
+    @with_transaction()
+    def test_eq_other_model(self):
+        "Test equal between different models"
+        pool = Pool()
+
+        Model = pool.get('test.model')
+        ModelContext = pool.get('test.model_context')
+
+        record1 = Model(id=1)
+        record2 = ModelContext(id=1)
+
+        self.assertNotEqual(record1, record2)
+
+    @with_transaction()
+    def test_eq_other_object(self):
+        "Test equal with another object"
+        pool = Pool()
+        Model = pool.get('test.model')
+
+        record = Model(id=1)
+
+        self.assertNotEqual(record, object())
+        self.assertNotEqual(record, None)
+        self.assertNotEqual(record, False)
+        self.assertNotEqual(record, 1)
+
+    @with_transaction()
+    def test_lt(self):
+        "Test less than"
+        pool = Pool()
+        Model = pool.get('test.model')
+
+        record1 = Model(id=1)
+        record2 = Model(id=2)
+
+        self.assertLess(record1, record2)
+
+    @with_transaction()
+    def test_lt_other_model(self):
+        "Test less than between different models"
+        pool = Pool()
+
+        Model = pool.get('test.model')
+        ModelContext = pool.get('test.model_context')
+
+        record1 = Model(id=1)
+        record2 = ModelContext(id=2)
+
+        with self.assertRaises(TypeError):
+            record1 < record2
+
+    @with_transaction()
     def test_hash_with_id(self):
         "Test hash with id"
         pool = Pool()

Reply via email to