public void NotRangeShouldntMatch() { var sut = Integers.From('u', 'w').Not(); Assert.IsTrue(sut.Contains('a')); Assert.IsTrue(sut.Contains('z')); }
public void RangeShouldntMatch() { var sut = Integers.From('u', 'w'); Assert.IsFalse(sut.Contains('a')); Assert.IsFalse(sut.Contains('z')); }
public void RangeShouldMatch() { var sut = Integers.From('u', 'w'); Assert.IsTrue(sut.Contains('u')); Assert.IsTrue(sut.Contains('v')); Assert.IsTrue(sut.Contains('w')); }
public void NotRangeShouldMatch() { var sut = Integers.From('u', 'w').Not(); Assert.IsFalse(sut.Contains('u')); Assert.IsFalse(sut.Contains('v')); Assert.IsFalse(sut.Contains('w')); }
private FA EvenB() { var start = new State(true); var count = new State(false); var a = Integers.From('a'); var b = Integers.From('b'); start.Add(a, start); start.Add(b, count); count.Add(a, count); count.Add(b, start); return(FA.From(start)); }
public void TransformShouldCreateDfa() { var state1 = new State(); var state2 = new State(); var state3 = new State(); state1.Add(Integers.From('1'), state2); state2.Add(Integers.From('2'), state3); state3.Add(Integers.From('3'), state1); var nfa = FA.From(state1, state3); var dfa = nfa.ToDfa().Minimize(); Assert.IsNotNull(dfa); Assert.AreEqual(3, dfa.States.Count); }
private static Matcher MakeMatcher() { // a?[ab] var first = new State(); var last = new State(); var end = new State(); var a1 = Integers.From('a'); var a2 = Integers.From('a', 'b'); first.Add(a1, last); first.Add(last); last.Add(a2, end); var nfa = FA.From(first, end); return new Matcher(nfa.ToDfa().Minimize()); }
private static Matcher Matcher() { // lf | cr lf var start = new State(); var cr = new State(); var done = new State(); var l = Integers.From('l'); var c = Integers.From('c'); start.Add(l, done); start.Add(c, cr); cr.Add(l, done); var nfa = FA.From(start, done); return(new Matcher(nfa.ToDfa().Minimize())); }
private static Matcher MakeMatcher() { // [ab]?[abc][ab]? var first = new State(); var center = new State(); var last = new State(); var end = new State(); var ab = Integers.From('a', 'b'); var ac = Integers.From('a', 'c'); first.Add(ab, center); first.Add(center); center.Add(ac, last); last.Add(ab, end); last.Add(end); var nfa = FA.From(first, end); return(new Matcher(nfa.ToDfa().Minimize())); }
public void RangeCreateString() { var sut = Integers.From('u', 'w'); Assert.AreEqual("['u'-'w']", sut.ToString()); }
public void NotSingleCreateString() { var sut = Integers.From('a').Not(); Assert.AreEqual("[0-96,98-1114111]", sut.ToIString()); }
public void NotRangeCreateString() { var sut = Integers.From('u', 'w').Not(); Assert.AreEqual("[0-116,120-1114111]", sut.ToIString()); }
public void NotSingleShouldntMatch() { var sut = Integers.From('a').Not(); Assert.IsTrue(sut.Contains('b')); }
public void SingleCreateString() { var sut = Integers.From('a'); Assert.AreEqual("['a']", sut.ToString()); }
public void SingleShouldntMatch() { var sut = Integers.From('a'); Assert.IsFalse(sut.Contains('b')); }
public void SingleShouldMatch() { var sut = Integers.From('a'); Assert.IsTrue(sut.Contains('a')); }