#1264 Fix language equivalence check for differences wrt initial locations + some other improvements
- Best to review per commit.
- End-user visible changes:
- Event-based language equivalence check: fixed for the only difference being in marking of initial locations, or language from initial locations. Previously, this was not detected.
- Event-based language equivalence check: improved the output in case the counter example concerns a pair of initial states.
- Event-based language equivalence check and DFA minimize: improved readability of partitioning blocks printed as part of debug output.
- Other changes:
-
BlockLocationandEventnow have a customtoStringmethod for easier debugging. -
CounterExample:- Asserts in constructor that its
pathis nevernull. No more handlingnullpathinLanguageEquivalenceCheckApplication.printPath. - JavaDoc improvements.
- Asserts in constructor that its
-
org.eclipse.escet.cif.eventbased: UseautIdxinstead ofautNum. -
LangEquivCalculation:-
constructCounterExampleimprovements:- Comment improvements.
- Add assert to check for exactly two automata, before using this fact.
- Moved
newLocsdeclaration a bit down, to section where it is used. - Don't swap
locsandnewLocs, but set their values explicitly. - Iterate with
pathIdxinstead ofi. - Renamed
numEventsEnabledtonumAutsEnabled. - Split the method into two methods, to allow re-using the end of the method (used in fixing the bug).
-
getReversePathimprovements:- Comment improvements.
- Swap a comparison to be similar to earlier one (+ easier to read).
-
getSplitExplanationPathimprovements:- Moved method, so that methods are in invocation order.
- JavaDoc/comment improvements.
- Use
Assert.areEqualinstead ofAssert.check. - Handle the three possibilities in order.
-
-
Closes #1264 (closed)