* Automat akceptuje słowo (ac^nb)||(bd^na).
*/
public final void testAlternativeLoops() {
AutomatonSpecification automaton = new NaiveAutomatonSpecification();
State q0 = automaton.addState();
State q1 = automaton.addState();
State q2 = automaton.addState();
State q3 = automaton.addState();
State q4 = automaton.addState();
automaton.addTransition(q0, q1, new CharTransitionLabel('a'));
automaton.addTransition(q0, q2, new CharTransitionLabel('b'));
automaton.addTransition(q1, q3, new CharTransitionLabel('b'));
automaton.addTransition(q2, q4, new CharTransitionLabel('a'));
automaton.addLoop(q1, new CharTransitionLabel('c'));
automaton.addLoop(q2, new CharTransitionLabel('d'));
automaton.markAsInitial(q0);
automaton.markAsFinal(q3);
automaton.markAsFinal(q4);
MinimumNumberOfOccurencesOperator oper =
new MinimumNumberOfOccurencesOperator(3);