示例#1
0
        public void MatchesEmptyString()
        {
            var element   = new Mock <ReElement>();
            var kleenStar = new ReKleeneStar(element.Object);

            Assert.That(kleenStar.MatchesEmptyString, Is.EqualTo(true));
        }
示例#2
0
        public void Constructor()
        {
            var element    = new Mock <ReElement>();
            var kleeneStar = new ReKleeneStar(element.Object);

            Assert.That(kleeneStar.Element, Is.SameAs(element.Object));
        }
示例#3
0
        public void KleeneStar_NestedKleenStar()
        {
            var child   = ReUtils.NewDummy('1');
            var subStar = new ReKleeneStar(child);

            var element = ReFactory.NewKleeneStar(subStar);

            Assert.That(element, Is.SameAs(subStar));
        }
示例#4
0
 static void RenderReKleenStar(StringBuilder builder, int indent, ReKleeneStar element)
 {
     builder.AppendLine("new ReKleeneStar");
     builder.Append(' ', indent);
     builder.AppendLine("(");
     builder.Append(' ', indent + 1);
     Render(builder, indent + 1, element.Element);
     builder.AppendLine();
     builder.Append(' ', indent);
     builder.Append(")");
 }
示例#5
0
        public void GenerateNFA()
        {
            var element    = ReUtils.NewDummy('1');
            var kleeneStar = new ReKleeneStar(element);

            const string expected =
                "0 -- e --> 1\r\n" +
                "1 -- [1] --> 1\r\n" +
                "1 -- e --> 2\r\n" +
                "";

            Assert.That(FARenderer.Render(ReUtils.Build(kleeneStar)), Is.EqualTo(expected));
        }