Exemple #1
0
        public void 二つ目の要素のパースに失敗したら一つ分カーソルは進みます()
        {
            var tested = new OneOrMoreParser <char>(new CharParser('a'));

            var(_, cursol, _) = tested.Parse(new Cursol("ab"));

            cursol.Index.Is("a".Length);
        }
Exemple #2
0
        public void 二つ目の要素のパースに失敗しても全体としては成功です()
        {
            var tested = new OneOrMoreParser <char>(new CharParser('a'));

            var(isSuccess, _, _) = tested.Parse(new Cursol("ab"));

            isSuccess.IsTrue();
        }
Exemple #3
0
        public void 一つ目の要素のパースに成功したら成功です()
        {
            var tested = new OneOrMoreParser <char>(new CharParser('a'));

            var(isSuccess, _, _) = tested.Parse(new Cursol("a"));

            isSuccess.IsTrue();
        }
Exemple #4
0
        public void 一つ目の要素のパースに失敗したら失敗です()
        {
            var tested = new OneOrMoreParser <char>(new CharParser('a'));

            var(isSuccess, _, _) = tested.Parse(new Cursol("b"));

            isSuccess.IsFalse();
        }
Exemple #5
0
        public void 二つ目の要素のパースに失敗したらパース結果は一文字分です()
        {
            var tested = new OneOrMoreParser <char>(new CharParser('a'));

            var(_, _, parsed) = tested.Parse(new Cursol("ab"));

            parsed.Count().Is(1);
            parsed.ElementAt(0).Is('a');
        }
Exemple #6
0
        public void 一つ目の要素のパースに成功したら一つ目の要素のみが得られます()
        {
            var tested = new OneOrMoreParser <char>(new CharParser('a'));

            var(_, _, parsed) = tested.Parse(new Cursol("a"));

            parsed.Count().Is(1);
            parsed.ElementAt(0).Is('a');
        }