コード例 #1
0
        public void TestBasicsLiteralStringFail()
        {
            var parser = new MatcherTestsParser();
            var match  = parser.GetMatch("bca", parser.LiteralString);

            Assert.IsFalse(match.Success);
        }
コード例 #2
0
        public void TestBasicsAndLiteralFail2()
        {
            var parser = new MatcherTestsParser();
            var match  = parser.GetMatch("b", parser.AndLiteral);

            Assert.IsFalse(match.Success);
        }
コード例 #3
0
ファイル: MatcherTests.cs プロジェクト: darrenstarr/ironmeta
 public void TestBasicsAndString()
 {
     var parser = new MatcherTestsParser();
     var match = parser.GetMatch("abcde", parser.AndString);
     Assert.IsTrue(match.Success);
     Assert.AreEqual(4, match.NextIndex);
 }
コード例 #4
0
        public void TestBasicsOrLiteral2()
        {
            var parser = new MatcherTestsParser();
            var match  = parser.GetMatch("ab", parser.OrLiteral);

            Assert.IsTrue(match.Success);
            Assert.AreEqual(1, match.NextIndex);
        }
コード例 #5
0
        // left over from an old way of doing things

        MatchResult <char, int> Run(IEnumerable <char> input, string productionName)
        {
            var parser     = new MatcherTestsParser();
            var production = (Action <MatchState <char, int>, int, IEnumerable <MatchItem <char, int> > >)
                             Delegate.CreateDelegate(typeof(Action <MatchState <char, int>, int, IEnumerable <MatchItem <char, int> > >), parser, productionName);

            return(parser.GetMatch(input, production));
        }
コード例 #6
0
        public void TestBasicsCallAct()
        {
            var parser = new MatcherTestsParser();
            var match  = parser.GetMatch("a", parser.CallAct);

            Assert.IsTrue(match.Success);
            Assert.AreNotEqual(42, match.Result);
        }
コード例 #7
0
        public void TestBasicsAndString()
        {
            var parser = new MatcherTestsParser();
            var match  = parser.GetMatch("abcde", parser.AndString);

            Assert.IsTrue(match.Success);
            Assert.AreEqual(4, match.NextIndex);
        }
コード例 #8
0
        public void TestBasicsLiteralString()
        {
            var parser = new MatcherTestsParser();
            var match  = parser.GetMatch("abcd", parser.LiteralString);

            Assert.IsTrue(match.Success);
            Assert.AreEqual(0, match.StartIndex);
            Assert.AreEqual(3, match.NextIndex);
        }
コード例 #9
0
ファイル: MatcherTests.cs プロジェクト: darrenstarr/ironmeta
        public void TestBasicsAndLiteral()
        {
            var parser = new MatcherTestsParser();
            var match = parser.GetMatch("ab", parser.AndLiteral);

            Assert.IsTrue(match.Success);
            Assert.AreEqual(0, match.StartIndex);
            Assert.AreEqual(2, match.NextIndex);
        }
コード例 #10
0
ファイル: MatcherTests.cs プロジェクト: kulibali/ironmeta
        public void TestBasicsOrLiteral()
        {
            var parser = new MatcherTestsParser();
            var match = parser.GetMatch("a", parser.OrLiteral);
            Assert.IsTrue(match.Success);

            parser = new MatcherTestsParser();
            match = parser.GetMatch("b", parser.OrLiteral);
            Assert.IsTrue(match.Success);
        }
コード例 #11
0
        public void TestBasicsOrLiteral()
        {
            var parser = new MatcherTestsParser();
            var match  = parser.GetMatch("a", parser.OrLiteral);

            Assert.IsTrue(match.Success);

            parser = new MatcherTestsParser();
            match  = parser.GetMatch("b", parser.OrLiteral);
            Assert.IsTrue(match.Success);
        }
コード例 #12
0
ファイル: MatcherTests.cs プロジェクト: darrenstarr/ironmeta
        // left over from an old way of doing things
        MatchResult<char, int> Run(IEnumerable<char> input, string productionName)
        {
            var parser = new MatcherTestsParser();
            var production = (Action<MatchState<char, int>, int, IEnumerable<MatchItem<char, int>>>)
                Delegate.CreateDelegate(typeof(Action<MatchState<char, int>, int, IEnumerable<MatchItem<char, int>>>), parser, productionName);

            return parser.GetMatch(input, production);
        }
コード例 #13
0
ファイル: MatcherTests.cs プロジェクト: darrenstarr/ironmeta
 public void TestBasicsAndLiteralFail2()
 {
     var parser = new MatcherTestsParser();
     var match = parser.GetMatch("b", parser.AndLiteral);
     Assert.IsFalse(match.Success);
 }
コード例 #14
0
ファイル: MatcherTests.cs プロジェクト: darrenstarr/ironmeta
 public void TestBasicsLiteralStringFail()
 {
     var parser = new MatcherTestsParser();
     var match = parser.GetMatch("bca", parser.LiteralString);
     Assert.IsFalse(match.Success);
 }
コード例 #15
0
ファイル: MatcherTests.cs プロジェクト: darrenstarr/ironmeta
 public void TestBasicsLiteralString()
 {
     var parser = new MatcherTestsParser();
     var match = parser.GetMatch("abcd", parser.LiteralString);
     Assert.IsTrue(match.Success);
     Assert.AreEqual(0, match.StartIndex);
     Assert.AreEqual(3, match.NextIndex);
 }
コード例 #16
0
ファイル: MatcherTests.cs プロジェクト: darrenstarr/ironmeta
 public void TestBasicsCallAct()
 {
     var parser = new MatcherTestsParser();
     var match = parser.GetMatch("a", parser.CallAct);
     Assert.IsTrue(match.Success);
     Assert.AreNotEqual(42, match.Result);
 }