示例#1
0
        public void CreatesNewCollectionWhenAddingItems()
        {
            FailureMessages list = FailureMessages.Empty.With(FailureMessage.Expected("expectation"));

            list.ToString().ShouldBe("expectation expected");
            list.ShouldNotBeSameAs(FailureMessages.Empty);
        }
示例#2
0
        public void CanIndicateErrorsWhichCausedBacktracking()
        {
            var             position = new Position(3, 4);
            FailureMessages failures = FailureMessages.Empty
                                       .With(FailureMessage.Expected("a"))
                                       .With(FailureMessage.Expected("b"));

            var failure = (BacktrackFailureMessage)FailureMessage.Backtrack(position, failures);

            failure.Position.ShouldBe(position);
            failure.Failures.ShouldBe(failures);
            failure.ToString().ShouldBe("(3, 4): a or b expected");
        }
示例#3
0
 internal BacktrackFailureMessage(Position position, FailureMessages failures)
 {
     Position = position;
     Failures = failures;
 }
示例#4
0
 public static FailureMessage Backtrack(Position position, FailureMessages errors)
 => new BacktrackFailureMessage(position, errors);
示例#5
0
 public GeneralFailure(TokenStream unparsedTokens, FailureMessages messages)
 {
     UnparsedTokens  = unparsedTokens;
     FailureMessages = messages;
 }
示例#6
0