public void SplitAndIgnoreFollowing()
        {
            ILineParser lineParser = Data.SplitOn("-").Ignore(2).AndFollowing().Join(" ");

            AssertWillParse(lineParser, "A B", "A-B-C", "A-B-C-D", "A-B-C-D-E");
            AssertNoChange(lineParser, "A", "A-B", "C", "C D E");
        }
 private void AssertWillParse(ILineParser parser, string expected, params string[] args)
 {
     foreach (string line in args)
     {
         Assert.That(parser.Parse(0, line), Is.EqualTo(expected), line);
     }
 }
Ejemplo n.º 3
0
        public void ReadEvaluatePrintLoop_WithNullParser_ThrowsArgumentNullException()
        {
            IRunTimeEnvironment rte    = MakeRunTimeEnvironment("PRINT \"Windows\";");
            ILineParser         parser = null;

            var repl = new ReadEvaluatePrintLoop(rte, parser);
        }
        public void IgnoreStartAndTrim()
        {
            ILineParser lineParser = Data.IgnoreStart("Testing:").Trim();

            AssertWillParse(lineParser, "Data", "Testing:Data", "Testing: Data ", "Testing:Data ", "Testing:   Data");
            AssertWillParse(lineParser, "", "Testing:", "Testing:     ", "Testing: ");
        }
        public void IgnoreBeforeColumn()
        {
            ILineParser lineParser = Comment.IgnoreBefore(3);

            AssertWillParse(lineParser, "Two", "OneTwo", "On Two", "O  Two", "   Two");
            AssertWillParse(lineParser, "", "", "A", "On");
        }
Ejemplo n.º 6
0
        public void ReadEvaluatePrintLoop_WithNullRte_ThrowsArgumentNullException()
        {
            IRunTimeEnvironment rte    = null;
            ILineParser         parser = MakeParser();

            var repl = new ReadEvaluatePrintLoop(rte, parser);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Constructs an instance of INIFile with a custom line parser
 /// </summary>
 /// <param name="path"></param>
 /// <param name="customLineParser"></param>
 public INIFile(
     string path,
     ILineParser customLineParser)
 {
     CustomLineParser = customLineParser;
     Init(path, ParseStrategies.Custom);
 }
 private void AssertNoChange(ILineParser matcher, params string[] args)
 {
     foreach (string line in args)
     {
         Assert.That(matcher.Parse(0, line), Is.EqualTo(line), line);
     }
 }
        public void SplitAndSelect()
        {
            ILineParser lineParser = Data.SplitOn("-").Select(0, 1).Join(" ");

            AssertWillParse(lineParser, "A B", "A-B-C-D", "A-B", "A-B-C");
            AssertNoChange(lineParser, "A", "C", "C D E");
        }
        public void SplitFindAndIgnoreFollowing()
        {
            ILineParser lineParser = Data.SplitOn("-").Find("B").Ignore(1).AndFollowing().Join(" ");

            AssertWillParse(lineParser, "A B", "A-B-C", "A-B-C-D", "A-B-C-D-E");
            AssertNoChange(lineParser, "A", "A-B", "C", "C D E");
            AssertNoChange(lineParser, "A-D-C-B");  // B + 1 is out of range
        }
 public LineHookerResponseController(IImgurClient iimgurClient, IAlbumEndpoint iAlbumEndpoint, ILineParser lineParser, ILineClientManager lineClientManager, IImgUrlParser imgUrlParser)
 {
     _iImgurClient      = iimgurClient;
     _iAlbumEndpoint    = iAlbumEndpoint;
     _lineParser        = lineParser;
     _lineClientManager = lineClientManager;
     _imgUrlParser      = imgUrlParser;
 }
        public void SplitAndIgnore()
        {
            ILineParser lineParser = Data.SplitOn("-").Ignore(0, 1).Join(" ");

            AssertWillParse(lineParser, "C D", "A-B-C-D", "AA-BB-C-D");
            AssertWillParse(lineParser, "C", "A-B-C", "AA-BB-C");
            AssertNoChange(lineParser, "A", "C", "C D E");
        }
 public TransactionRepository(string filePathToTransactions,
                              IFileReader fileReader,
                              ILineParser <Transaction> transactionParser)
 {
     _filePathToTransactions = filePathToTransactions;
     _fileReader             = fileReader;
     _transactionParser      = transactionParser;
 }
Ejemplo n.º 14
0
 public LineParserMap(ILineParser defaultParser)
 {
     if (defaultParser == null)
     {
         throw new ArgumentNullException("Default Parser REQUIERED");
     }
     std = defaultParser;
 }
Ejemplo n.º 15
0
 public PoFileParser(IFileHelper fileHelper, ILineParser lineParser, ISegmentSettings defaultSegmentSettings, IParagraphUnitFactory paragraphUnitFactory, IEntryBuilder entryBuilder)
 {
     _fileHelper           = fileHelper;
     _lineParser           = lineParser;
     _segmentSettings      = defaultSegmentSettings;
     _paragraphUnitFactory = paragraphUnitFactory;
     _entryBuilder         = entryBuilder;
 }
Ejemplo n.º 16
0
 public PoFileWriter(IFileHelper fileHelper, ISegmentReader segmentReader, ILineParser lineParser,
                     IEntryBuilder entryBuilder)
 {
     _fileHelper    = fileHelper;
     _segmentReader = segmentReader;
     _lineParser    = lineParser;
     _entryBuilder  = entryBuilder;
 }
        public void SplitFindAndSelect()
        {
            ILineParser lineParser = Data.SplitOn("-").Find("B").Select(0, 1).Join(" ");

            AssertWillParse(lineParser, "B C", "A-B-C-D", "A-D-B-C", "B-C");
            AssertNoChange(lineParser, "A", "C", "C D E");
            AssertNoChange(lineParser, "A-D-C-B");  // B + 1 is out of range
        }
        public void RemoveSpaces()
        {
            ILineParser lineParser = Data.RemoveSpaces();

            AssertWillParse(lineParser, "One Two", "One Two", "One  Two", " One  Two ", "   One Two");
            AssertWillParse(lineParser, ".", ".");
            AssertNoChange(lineParser, "One", "there is no dot", "dot", ",");
        }
        public void IgnoreBefore2CharsIncludeMarker()
        {
            ILineParser lineParser = Comment.IgnoreBefore("./").IncludeMarker();

            AssertWillParse(lineParser, "./Data", "TEsting./Data", "./Data", "Testing    ./Data");
            AssertWillParse(lineParser, "./", "./", "Data./");
            AssertNoChange(lineParser, "Data", "there is no dot", "dot", ",", ".", "/", "/.", "");
        }
        public void IgnoreStart()
        {
            ILineParser lineParser = Data.IgnoreStart("Testing:");

            AssertNoChange(lineParser, null, "", "TESTING: ", "Testin", "   Testing", "testing", "Ending with Testing");
            AssertWillParse(lineParser, "Data", "Testing:Data");
            AssertWillParse(lineParser, "", "Testing:");
        }
        public void IgnoreAfterIncludeMarker()
        {
            ILineParser lineParser = Data.IgnoreAfter(".").IncludeMarker();

            AssertWillParse(lineParser, "Data.", "Data.Testing", "Data.", "Data.  Testing. ", "Data.   Testing");
            AssertWillParse(lineParser, ".", ".", ".");
            AssertNoChange(lineParser, "Data", "there is no dot", "dot", ",", "");
        }
        public void IgnoreBefore()
        {
            ILineParser lineParser = Comment.IgnoreBefore(".").ExcludeMarker();

            AssertWillParse(lineParser, "Data", "TEsting.Data", ".Data", "Testing    .Data");
            AssertWillParse(lineParser, "", ".", "", "Data.");
            AssertNoChange(lineParser, "Data", "there is no dot", "dot", ",");
        }
 protected SingleLineParser(string name, ILineMatcher lineMatcher, ILineParser dataParser, ILineParser commentParser, IImpliedModelParser[] impliedModelParsers, ModelFactoryDelegate modelFactory)
 {
     this.name = name;
     this.lineMatcher = lineMatcher;
     this.dataParser = dataParser;
     this.commentParser = commentParser;
     this.impliedModelParsers = impliedModelParsers;
     this.modelFactory = modelFactory;
 }
Ejemplo n.º 24
0
 /// <summary>
 ///  Initializes a new <see cref="LineTextParser"/> instance with the <paramref name="lineParser"/>
 /// </summary>
 /// <param name="lineParser">A <see cref="ILineParser"/> instance used to extract words from individual lines of content</param>
 public LineTextParser([NotNull] ILineParser lineParser)
 {
     if (lineParser == null)
     {
         throw new ArgumentNullException("lineParser");
     }
     this.lineParser = lineParser;
     UseAsync        = false;
 }
Ejemplo n.º 25
0
        public LogContext(string fileName, ILineParser parser)
        {
            _formattingRuleManager = new FormattingRuleManager();
            _filteringRuleManager  = new FilteringRuleManager();
            _searcher = new Searcher(this);

            _parser      = parser;
            _logProvider = new FilterLogProvider(new LogFileCache(new LogFile(fileName)), _filteringRuleManager);
        }
Ejemplo n.º 26
0
        public bool TryParse(string solutionFile, out SolutionFile result)
        {
            Validate.IsNotNull(solutionFile, nameof(solutionFile));
            SolutionFileBuilder sfb = new SolutionFileBuilder();

            result = null;
            string[] strArray = solutionFile.Split(new string[2]
            {
                "\n",
                "\r\n"
            },
                                                   StringSplitOptions.RemoveEmptyEntries);
            sfb.SetLineCount(strArray.Length);
            sfb.SetSizeInChars(solutionFile.Length);
            ILineParser lineParser1   = null;
            bool        needMoreLines = false;

            foreach (string str in strArray)
            {
                string line = str.Trim();
                if (lineParser1 == null)
                {
                    foreach (ILineParser lineParser2 in lineParsers)
                    {
                        if (lineParser2.TryParseLine(line, sfb, out needMoreLines))
                        {
                            if (needMoreLines)
                            {
                                lineParser1 = lineParser2;
                            }

                            break;
                        }
                    }
                }
                else if (lineParser1.TryParseLine(line, sfb, out needMoreLines))
                {
                    if (!needMoreLines)
                    {
                        lineParser1 = null;
                    }
                }
                else
                {
                    sfb.SetIsValid(false);
                    break;
                }
            }

            if (needMoreLines)
            {
                sfb.SetIsValid(false);
            }

            result = sfb.Build();
            return(result.IsValid);
        }
Ejemplo n.º 27
0
        /// <summary>
        /// Initializes an instance of <see cref="FileProgramRepository"/> class with specified parser.
        /// </summary>
        /// <param name="parser">The line-based parser.</param>
        public FileProgramRepository(ILineParser parser)
        {
            if (parser == null)
            {
                throw new ArgumentNullException("parser");
            }

            this.parser = parser;
        }
Ejemplo n.º 28
0
 protected SingleLineParser(string name, ILineMatcher lineMatcher, ILineParser dataParser, ILineParser commentParser, IImpliedModelParser[] impliedModelParsers, ModelFactoryDelegate modelFactory)
 {
     this.name                = name;
     this.lineMatcher         = lineMatcher;
     this.dataParser          = dataParser;
     this.commentParser       = commentParser;
     this.impliedModelParsers = impliedModelParsers;
     this.modelFactory        = modelFactory;
 }
 protected ImpliedModelParser(string name, ILineMatcher lineMatcher, ILineParser modelParser, ILineParser impliedParser,
     ModelFactoryDelegate modelFactory, ModelFactoryDelegate impliedFactory)
 {
     this.name = name;
     this.lineMatcher = lineMatcher;
     this.modelParser = modelParser;
     this.impliedParser = impliedParser;
     this.modelFactory = modelFactory;
     this.impliedFactory = impliedFactory;
 }
        public void TruncateAt()
        {
            ILineParser lineParser = Data.TruncateAtColumn(3);

            AssertWillParse(lineParser, "One", "One", "OneTwo", "One Two");
            AssertWillParse(lineParser, "On", "On");
            AssertWillParse(lineParser, "O", "O");

            AssertWillParse(lineParser, "O  ", "O  Two", "O  ");
        }
        public void SplitFindAndSelectFollowing()
        {
            ILineParser lineParser = Data.SplitOn("-").Find("B").Select(1).AndFollowing().Join(" ");

            AssertWillParse(lineParser, "C D E", "A-B-C-D-E");
            AssertWillParse(lineParser, "C D", "A-B-C-D");
            AssertWillParse(lineParser, "C", "A-B-C");
            AssertNoChange(lineParser, "A", "A-B");
            AssertNoChange(lineParser, "C", "C D E");
        }
Ejemplo n.º 32
0
 protected ImpliedModelParser(string name, ILineMatcher lineMatcher, ILineParser modelParser, ILineParser impliedParser,
                              ModelFactoryDelegate modelFactory, ModelFactoryDelegate impliedFactory)
 {
     this.name           = name;
     this.lineMatcher    = lineMatcher;
     this.modelParser    = modelParser;
     this.impliedParser  = impliedParser;
     this.modelFactory   = modelFactory;
     this.impliedFactory = impliedFactory;
 }
Ejemplo n.º 33
0
 public UrlMapParser()
 {
   _urls = new List<ParsedUrl>();
   _urlParts = new List<ParsedUrlPart>();
   _lineParser = new PrioritizedLineParser(new ILineParser[]
   {
     new BlankLineSkipper(),
     new UsingLineParser(),
     new NamespaceLineParser(),
     new UrlLineParser()
   });
 }
 protected SingleLineParser(string name, ILineMatcher lineMatcher, ILineParser dataParser)
     : this(name, lineMatcher, dataParser, Comment.IgnoreAll(), null, StringModel.Factory)
 {
 }
 private void AssertWillParse(ILineParser parser, string expected, params string[] args)
 {
     foreach (string line in args)
     {
         Assert.That(parser.Parse(0,line), Is.EqualTo(expected), line);
     }
 }
 private void AssertNoChange(ILineParser matcher, params string[] args)
 {
     foreach (string line in args)
     {
         Assert.That(matcher.Parse(0,line), Is.EqualTo(line), line);
     }
 }
Ejemplo n.º 37
0
 public ILineParser OnLineNumber(int lineNo, ILineParser lineParser)
 {
     lineDictionary.Add(lineNo, lineParser);
     return this;
 }
Ejemplo n.º 38
0
 public static ILineParser OnLine(int lineNo, ILineParser lineParser)
 {
     return new LineParser().OnLineNumber(lineNo, lineParser);
 }
 protected SingleLineParser(string name, ILineMatcher lineMatcher, ILineParser dataParser, ILineParser commentParser)
     : this(name, lineMatcher, dataParser, commentParser, null, StringModel.Factory)
 {
 }