Ejemplo n.º 1
0
        public void 二つ目の要素のパースに成功したら二つ分カーソルは進みます()
        {
            var tested = new ZeroOrMoreParser <char>(new CharParser('a'));

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

            cursol.Index.Is("aa".Length);
        }
Ejemplo n.º 2
0
        public void 一つ目の要素のパースに失敗したら結果は空です()
        {
            var tested = new ZeroOrMoreParser <char>(new CharParser('a'));

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

            parsed.Count().Is(0);
        }
Ejemplo n.º 3
0
        public void 一つ目の要素のパースに成功したら成功です()
        {
            var tested = new ZeroOrMoreParser <char>(new CharParser('a'));

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

            isSuccess.IsTrue();
        }
Ejemplo n.º 4
0
        public void 一つ目の要素のパースに失敗したらカーソルは進みません()
        {
            var tested = new ZeroOrMoreParser <char>(new CharParser('a'));

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

            cursol.Index.Is(0);
        }
Ejemplo n.º 5
0
        public void 一つ目の要素のパースに成功したら一つ目の要素のみが得られます()
        {
            var tested = new ZeroOrMoreParser <char>(new CharParser('a'));

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

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