public void AddTransition(string currentStateID, char character, string nextStateID) { if (States.Count == 0) { throw new InvalidOperationException("State collection is empty."); } if (!IsInAlphabet(character)) { throw new ArgumentException("Character is not in the alphabet."); } TransitionViewModel transition = new TransitionViewModel(currentStateID, character, nextStateID); if (transitions.Contains(transition)) { throw new ArgumentException("Transition is already defined."); } transitions.Add(transition); graph.AddEdge(currentStateID, character.ToString(), nextStateID); }
public void AddTransition(string currentStateID, char character, string nextStateID) { if (States.Count == 0) throw new InvalidOperationException("State collection is empty."); if (!IsInAlphabet(character)) throw new ArgumentException("Character is not in the alphabet."); TransitionViewModel transition = new TransitionViewModel(currentStateID, character, nextStateID); if (transitions.Contains(transition)) throw new ArgumentException("Transition is already defined."); transitions.Add(transition); graph.AddEdge(currentStateID, character.ToString(), nextStateID); }