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)); }
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)); }