예제 #1
0
 public void 一文字消費する()
 {
     var parser = new ItemParser<char>(c => (char)c);
     var input = Reader.FromString("abc");
     var expected = Success._('a', Reader.FromString("bc"));
     Assert.That(parser.Apply(input), Is.EqualTo(expected));
 }
예제 #2
0
 public void ItemParserに空を渡すと失敗する()
 {
     var parser = new ItemParser<char>(c => (char)c);
     var input = Reader.FromString("");
     var result = parser.Apply(input).Match(
         (r, rest) => (string)Util.Fail(),
         (m, rest) => m
     );
     var expected = "input is empty.";
     Assert.That(result, Is.EqualTo(expected));
 }