private static PatternNode ParseAndValidate(string pattern) { var parser = new PatternParser(); var errorsSink = new PatternCompilerErrorsSink(); parser.TryParse(pattern, errorsSink, out var parsedPattern).Should().BeTrue(); errorsSink.Errors.Should().HaveCount(0); errorsSink.HasErrors.Should().BeFalse(); parsedPattern.Should().NotBeNull(); return(parsedPattern !); }
private void Validate(string pattern) { var parser = new PatternParser(); var errorsSink = new PatternCompilerErrorsSink(); parser.TryParse(pattern, errorsSink, out var parsedPattern).Should().BeTrue(); parsedPattern.Should().NotBeNull(); errorsSink.HasErrors.Should().BeFalse(); validator.Validate(parsedPattern !, errorsSink).Should().BeTrue(); errorsSink.HasErrors.Should().BeFalse(); }
private void Validate(string pattern, string errorContainsText) { var parser = new PatternParser(); var errorsSink = new PatternCompilerErrorsSink(); parser.TryParse(pattern, errorsSink, out var parsedPattern).Should().BeTrue(); parsedPattern.Should().NotBeNull(); errorsSink.HasErrors.Should().BeFalse(); validator.Validate(parsedPattern !, errorsSink).Should().BeFalse(); errorsSink.HasErrors.Should().BeTrue(); errorsSink.Errors.Any(e => e.Message.ContainsOrdinalIgnoreCase(errorContainsText)).Should().BeTrue(); }
private static void ParseAndValidate( string pattern, int count, string messageContains, int?location = null) { var parser = new PatternParser(); var errorsSink = new PatternCompilerErrorsSink(); parser.TryParse(pattern, errorsSink, out var parsedPattern).Should().BeFalse(); parsedPattern.Should().BeNull(); errorsSink.HasErrors.Should().BeTrue(); errorsSink.Errors.Should().HaveCount(count); var error = errorsSink.Errors[0]; error.Location.Should().Be(location); error.Message.Should().Contain(messageContains); }