continue refactoring to optimize for mtl
This commit is contained in:
parent
5fd66cfd2c
commit
98824c9ba1
21 changed files with 393 additions and 467 deletions
31
mtl/test_ast.py
Normal file
31
mtl/test_ast.py
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
import mtl
|
||||
from mtl.hypothesis import MetricTemporalLogicStrategy
|
||||
|
||||
from hypothesis import given
|
||||
|
||||
|
||||
@given(MetricTemporalLogicStrategy)
|
||||
def test_identities(phi):
|
||||
assert mtl.TOP == mtl.TOP | phi
|
||||
assert mtl.BOT == mtl.BOT & phi
|
||||
assert mtl.TOP == phi | mtl.TOP
|
||||
assert mtl.BOT == phi & mtl.BOT
|
||||
assert phi == phi & mtl.TOP
|
||||
assert phi == phi | mtl.BOT
|
||||
assert mtl.TOP == mtl.TOP & mtl.TOP
|
||||
assert mtl.BOT == mtl.BOT | mtl.BOT
|
||||
assert mtl.TOP == mtl.TOP | mtl.BOT
|
||||
assert mtl.BOT == mtl.TOP & mtl.BOT
|
||||
assert ~mtl.BOT == mtl.TOP
|
||||
assert ~mtl.TOP == mtl.BOT
|
||||
assert ~~mtl.BOT == mtl.BOT
|
||||
assert ~~mtl.TOP == mtl.TOP
|
||||
assert (phi & phi) & phi == phi & (phi & phi)
|
||||
assert (phi | phi) | phi == phi | (phi | phi)
|
||||
assert ~~phi == phi
|
||||
|
||||
|
||||
def test_walk():
|
||||
phi = mtl.parse(
|
||||
'(([ ][0, 1] ap1 & < >[1,2] ap2) | (@ap1 U ap2))')
|
||||
assert len(list((~phi).walk())) == 11
|
||||
Loading…
Add table
Add a link
Reference in a new issue