ast: allow overriding Value operators.

This commit is contained in:
Vegard Storheil Eriksen 2023-10-05 21:16:33 +02:00 committed by Catherine
parent 1c3227d956
commit 879601380d
3 changed files with 59 additions and 22 deletions

View file

@ -285,22 +285,22 @@ class RecordTestCase(FHDLTestCase):
# __eq__, __ne__, __lt__, __le__, __gt__, __ge__
self.assertEqual(repr(r1 == 1), "(== (cat (sig r1__a)) (const 1'd1))")
self.assertEqual(repr(r1 == s1), "(== (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(s1 == r1), "(== (sig s1) (cat (sig r1__a)))")
self.assertEqual(repr(s1 == r1), "(== (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(r1 != 1), "(!= (cat (sig r1__a)) (const 1'd1))")
self.assertEqual(repr(r1 != s1), "(!= (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(s1 != r1), "(!= (sig s1) (cat (sig r1__a)))")
self.assertEqual(repr(s1 != r1), "(!= (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(r1 < 1), "(< (cat (sig r1__a)) (const 1'd1))")
self.assertEqual(repr(r1 < s1), "(< (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(s1 < r1), "(< (sig s1) (cat (sig r1__a)))")
self.assertEqual(repr(s1 < r1), "(> (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(r1 <= 1), "(<= (cat (sig r1__a)) (const 1'd1))")
self.assertEqual(repr(r1 <= s1), "(<= (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(s1 <= r1), "(<= (sig s1) (cat (sig r1__a)))")
self.assertEqual(repr(s1 <= r1), "(>= (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(r1 > 1), "(> (cat (sig r1__a)) (const 1'd1))")
self.assertEqual(repr(r1 > s1), "(> (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(s1 > r1), "(> (sig s1) (cat (sig r1__a)))")
self.assertEqual(repr(s1 > r1), "(< (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(r1 >= 1), "(>= (cat (sig r1__a)) (const 1'd1))")
self.assertEqual(repr(r1 >= s1), "(>= (cat (sig r1__a)) (sig s1))")
self.assertEqual(repr(s1 >= r1), "(>= (sig s1) (cat (sig r1__a)))")
self.assertEqual(repr(s1 >= r1), "(<= (cat (sig r1__a)) (sig s1))")
# __abs__, __len__
self.assertEqual(repr(abs(r1)), "(cat (sig r1__a))")