acc: fix maybe_accepting() on Fin(x)|Fin(y)|Fin(z)

Fixes #271, reported by Henrich Lauko.

* spot/twa/acc.cc (maybe_accepting): Fix handling in case
of disjunction of Fin.
* tests/core/scc.test, tests/python/accparse2.py: Add more
tests.
This commit is contained in:
Alexandre Duret-Lutz 2017-06-21 16:03:17 +02:00
parent fc609057d6
commit 20df3b4e98
3 changed files with 42 additions and 4 deletions

View file

@ -41,6 +41,12 @@ assert a.maybe_accepting([2], []).is_true()
assert a.maybe_accepting([0, 1], []).is_maybe()
assert a.maybe_accepting([0, 1], [1]).is_false()
a.set_acceptance('Fin(0)|Fin(1)')
assert a.maybe_accepting([0, 1], [1]).is_maybe()
assert a.maybe_accepting([0, 1], [0, 1]).is_false()
assert a.maybe_accepting([0], []).is_true()
assert a.maybe_accepting([], [0]).is_true()
a = spot.acc_cond(0)
a.set_acceptance('all')
assert(a.is_rabin() == -1)