Пример #1
0
        public void Satisfy_FailingPredicate_ReturnsError()
        {
            var parser = Chars.Satisfy(c => false);
            var result = parser.Parse("xyz");

            ParseAssert.IsError(result);
        }
Пример #2
0
        public void Satisfy_PassingPredicate_ReturnsChar()
        {
            var parser = Chars.Satisfy(c => true);
            var result = parser.Parse("xyz");

            ParseAssert.ValueEquals('x', result);
        }
Пример #3
0
 /// <summary>
 /// Parses an integer value.
 /// </summary>
 public static IParser <int> Int()
 {
     return(from x in Chars.Satisfy(c => char.IsDigit(c) ||
                                    c == '-' ||
                                    c == '+').Many1()
            select int.Parse(x));
 }
Пример #4
0
 /// <summary>
 /// Parses a double value.
 /// </summary>
 public static IParser <double> Double()
 {
     return(from x in Chars.Satisfy(c => char.IsDigit(c) ||
                                    c == '-' ||
                                    c == '+' ||
                                    c == '.').Many1()
            select double.Parse(x, CultureInfo.InvariantCulture));
 }
Пример #5
0
 public void Satisfy_PredicateNull_ThrowsException()
 {
     Chars.Satisfy(null);
 }