public void RFCValidPatterns()
        {
            var robots    = LoadRobotsRfcFileExample();
            var tokenizer = new RobotsFileTokenizer();
            var tokens    = tokenizer.Tokenize(robots);

            var validator = new RobotsFileTokenPatternValidator();
            var result    = validator.Validate(tokens);

            Assert.IsTrue(result.IsValid);
        }
        public void MalformedFieldPatterns()
        {
            var robots    = LoadResource("RobotsFile/InvalidField-Example.txt");
            var tokenizer = new RobotsFileTokenizer();
            var tokens    = tokenizer.Tokenize(robots);

            var validator = new RobotsFileTokenPatternValidator();
            var result    = validator.Validate(tokens);

            Assert.IsFalse(result.IsValid);

            var firstErrorExpectedTokens = result.Errors.First().Expected;

            Assert.AreEqual(TokenType.NewLine, firstErrorExpectedTokens.ElementAt(0));
            Assert.AreEqual(1, firstErrorExpectedTokens.Count());
            Assert.AreEqual(19, result.Errors.Count());
        }