From 0178a5aa907691ba7a8b6aafa402bc89ced7c0e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Paulev=C3=A9?= Date: Fri, 11 Dec 2020 23:26:01 +0100 Subject: [PATCH 1/2] add __call__ method to _TRUE and _FALSE returning themselves --- boolean/boolean.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/boolean/boolean.py b/boolean/boolean.py index 11a7ec5..8cb3fdc 100644 --- a/boolean/boolean.py +++ b/boolean/boolean.py @@ -838,6 +838,9 @@ def __str__(self): def __repr__(self): return 'TRUE' + def __call__(self): + return self + __nonzero__ = __bool__ = lambda s: True @@ -863,6 +866,9 @@ def __str__(self): def __repr__(self): return 'FALSE' + def __call__(self): + return self + __nonzero__ = __bool__ = lambda s: False From e0426c197bf305ec9e8ddee9b83276c7918cb303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Paulev=C3=A9?= Date: Fri, 11 Dec 2020 23:35:57 +0100 Subject: [PATCH 2/2] test case for demorgan with TRUE/FALSE --- boolean/test_boolean.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/boolean/test_boolean.py b/boolean/test_boolean.py index f16563a..3b931d6 100644 --- a/boolean/test_boolean.py +++ b/boolean/test_boolean.py @@ -606,6 +606,10 @@ def test_demorgan(self): self.assertEqual((~ ~ ~(a & b | c)).demorgan(), ~(a & b) & ~c) self.assertEqual(algebra.parse('~' * 10 + '(a&b|c)').demorgan(), a & b | c) self.assertEqual(algebra.parse('~' * 11 + '(a&b|c)').demorgan(), (~(a & b | c)).demorgan()) + _0 = algebra.FALSE + _1 = algebra.TRUE + self.assertEqual((~(_0)).demorgan(), _1) + self.assertEqual((~(_1)).demorgan(), _0) def test_order(self): algebra = BooleanAlgebra()