public void New() { var dot1 = new AnySingleCharacter(); Assert.IsNull(dot1.Name); Assert.IsFalse(dot1.Memoized); var dot2 = new AnySingleCharacter("DOT"); Assert.AreEqual("DOT", dot2.Name); Assert.IsTrue(dot2.Memoized); }
public void New() { var dot = new AnySingleCharacter(); var a1 = new Antipattern(dot); Assert.AreEqual(dot, a1.Pattern); Assert.IsNull(a1.Name); Assert.IsFalse(a1.Memoized); var a2 = new Antipattern(dot, "ap"); Assert.AreEqual("ap", a2.Name); Assert.IsTrue(a2.Memoized); }
public void Memoize() { var dot = new AnySingleCharacter(); var dot2 = dot.Memoize() as AnySingleCharacter; Assert.IsNotNull(dot2); Assert.IsTrue(dot2.Memoized); Assert.AreEqual("", dot2.Name); var dot3 = dot2.Memoize(); Assert.AreEqual(dot2, dot3); var dot4 = dot2.Memoize("Test") as AnySingleCharacter; Assert.IsNotNull(dot4); Assert.IsTrue(dot4.Memoized); Assert.AreEqual("Test", dot4.Name); }
public void Match() { var str = "foo"; var dot = new AnySingleCharacter(); var node = dot.Match(str) as ParseNode; Assert.IsNotNull(node); Assert.AreEqual(0, node.Children.Count); Assert.AreEqual(1, node.Length); Assert.AreEqual(new Position(str), node.Position); Assert.AreEqual(new Position(str).Advance(), node.NextPosition); Assert.AreEqual("f", node.Value); var err = dot.Match(string.Empty) as ParsingError; Assert.IsNotNull(err); Assert.AreEqual(dot, err.Pattern); Assert.AreEqual(new Position(string.Empty), err.Position); Assert.IsNull(err.InnerError); Assert.AreEqual("EOF reached", err.Message); }
public new void ToString() { var dot = new AnySingleCharacter(); Assert.AreEqual(".", dot.ToString()); }