added tests for edge case andf/orf behavior
This commit is contained in:
parent
58c33f530c
commit
c3d9292db9
2 changed files with 10 additions and 2 deletions
|
|
@ -59,6 +59,14 @@ class TestSTLUtils(unittest.TestCase):
|
||||||
post_l2 = len(list(stl.walk(stl.utils.f_neg_or_canonical_form(phi))))
|
post_l2 = len(list(stl.walk(stl.utils.f_neg_or_canonical_form(phi))))
|
||||||
self.assertEqual(post_l, post_l2)
|
self.assertEqual(post_l, post_l2)
|
||||||
|
|
||||||
|
def test_andf(self):
|
||||||
|
phi = stl.parse("x")
|
||||||
|
self.assertEqual(phi, stl.andf(phi))
|
||||||
|
|
||||||
|
def test_orf(self):
|
||||||
|
phi = stl.parse("x")
|
||||||
|
self.assertEqual(phi, stl.orf(phi))
|
||||||
|
|
||||||
# def test_to_from_mtl(self):
|
# def test_to_from_mtl(self):
|
||||||
# raise NotImplementedError
|
# raise NotImplementedError
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,10 +131,10 @@ def until(phi1, phi2, *, lo, hi):
|
||||||
return stl.ast.Until(Interval(lo, hi), phi1, phi2)
|
return stl.ast.Until(Interval(lo, hi), phi1, phi2)
|
||||||
|
|
||||||
def andf(*args):
|
def andf(*args):
|
||||||
return reduce(op.and_, args, stl.TOP)
|
return reduce(op.and_, args) if args else stl.TOP
|
||||||
|
|
||||||
def orf(*args):
|
def orf(*args):
|
||||||
return reduce(op.or_, args, stl.TOP)
|
return reduce(op.or_, args) if args else stl.TOP
|
||||||
|
|
||||||
def implies(x, y):
|
def implies(x, y):
|
||||||
return ~x | y
|
return ~x | y
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue