highlight: do not reset existing highlights

* spot/twa/twa.hh (twa::get_or_set_named_prop): New method.
* spot/twaalgos/emptiness.cc, spot/twaalgos/isdet.cc: Use it to not
overwrite existing highlights.
* tests/core/det.test: Add test case.
This commit is contained in:
Alexandre Duret-Lutz 2016-07-18 15:36:19 +02:00
parent 57f47c16e7
commit 6793d6de7d
4 changed files with 101 additions and 25 deletions

View file

@ -235,4 +235,43 @@ ltl2tgba -f 'Ga & FGb' -f 'Ga | FGb' > out.hoa
test "`autfilt --nondet-states=1 --stats=%M out.hoa`" = "Ga & FGb"
test "`autfilt --nondet-states=2 --stats=%M out.hoa`" = "Ga | FGb"
true
cat >input <<EOF
HOA: v1.1
name: "FGa"
States: 2
Start: 1
AP: 1 "a"
acc-name: Buchi
Acceptance: 1 Inf(0)
spot.highlight.edges: 1 3 2 3
spot.highlight.states: 0 2
--BODY--
State: 0 {0}
[0] 0
State: 1
[0] 0
[t] 1
--END--
EOF
autfilt -H1.1 --highlight-nondet=5 input > output
cat >expected <<EOF
HOA: v1.1
name: "FGa"
States: 2
Start: 1
AP: 1 "a"
acc-name: Buchi
Acceptance: 1 Inf(0)
properties: trans-labels explicit-labels state-acc !complete
properties: !deterministic
spot.highlight.states: 0 2 1 5
spot.highlight.edges: 1 3 2 5 3 5
--BODY--
State: 0 {0}
[0] 0
State: 1
[0] 0
[t] 1
--END--
EOF
diff output expected