public void NegateLetter_Fail() { bool transitionConsumesCharacter; ENFA_Controller controller = new ENFA_Controller(ParserType.Regex); ENFA_Regex_Transition transition = (controller.Factory as ENFA_Regex_Factory).CreateRegexTransition(RegexTransitionType.NegateLetter, new ENFA_State(controller, null, RegexTransitionType.NegateLetter.ToString(), StateType.Accepting)); Assert.False(transition.TransitionAllowed(null, 'c', out transitionConsumesCharacter)); }
public void ExitContext_Success() { bool transitionConsumesCharacter; ENFA_Controller controller = new ENFA_Controller(ParserType.Regex); ENFA_Regex_Transition transition = (controller.Factory as ENFA_Regex_Factory).CreateRegexTransition(RegexTransitionType.ExitContext, new ENFA_ContextSwitch(controller, StateType.Accepting)); Assert.True(transition.TransitionAllowed('"', '"', out transitionConsumesCharacter)); Assert.True(transitionConsumesCharacter); }
public void EndOfLine_Success() { bool transitionConsumesCharacter; ENFA_Controller controller = new ENFA_Controller(ParserType.Regex); ENFA_Regex_Transition transition = (controller.Factory as ENFA_Regex_Factory).CreateRegexTransition(RegexTransitionType.EndOfLine, new ENFA_State(controller, null, RegexTransitionType.EndOfLine.ToString(), StateType.Accepting)); Assert.True(transition.TransitionAllowed('a', '\n', out transitionConsumesCharacter)); Assert.False(transitionConsumesCharacter); }
public void WordBoundary_Success3() { bool transitionConsumesCharacter; ENFA_Controller controller = new ENFA_Controller(ParserType.Regex); ENFA_Regex_Transition transition = (controller.Factory as ENFA_Regex_Factory).CreateRegexTransition(RegexTransitionType.WordBoundary, new ENFA_State(controller, null, RegexTransitionType.WordBoundary.ToString(), StateType.Accepting)); Assert.True(transition.TransitionAllowed('b', ' ', out transitionConsumesCharacter)); Assert.False(transitionConsumesCharacter); }
public void NegateLiteral_Success() { bool transitionConsumesCharacter; ENFA_Controller controller = new ENFA_Controller(ParserType.Regex); ENFA_Regex_Transition transition = (controller.Factory as ENFA_Regex_Factory).CreateRegexTransition(RegexTransitionType.NegateLiteral, new ENFA_State(controller, null, RegexTransitionType.NegateLiteral.ToString(), StateType.Accepting)); transition.AddLiteral('a'); transition.AddLiteral('b'); Assert.True(transition.TransitionAllowed(null, 'c', out transitionConsumesCharacter)); Assert.True(transitionConsumesCharacter); }