public void ParseRowWithTooManyColumns()
        {
            RowData rowData = new RowData();
            // It will repeat the given string up to 8000 characters nad that
            // will pass the maximum number of columns.
            IFileReader reader    = new FileReaderTestImpl("ABC,", 2000 * 4);
            RowParser   rowParser = new RowParser(",", "\r\n", string.Empty);

            rowParser.ParseNextRow(reader, rowData);
        }
        public void ProcessRegularCharacterTest()
        {
            ParsingContextTestImpl context = new ParsingContextTestImpl();
            ParsingState           target  = new ParsingState();
            FileReaderTestImpl     reader  = new FileReaderTestImpl(50);

            System.Text.StringBuilder localText = new System.Text.StringBuilder();
            while (!reader.IsEOF)
            {
                char nextChar = reader.GetNextChar();
                localText.Append(nextChar);
                Assert.AreEqual(target.ProcessCharacter(context, nextChar), ParsingResult.Match);
                Assert.AreEqual <string>(localText.ToString(), context.CurrentText);
            }
        }
        public void ParsingBufferOverflowTest()
        {
            IFileReader reader = new FileReaderTestImpl("abcdefghjklmn", 100000);
            FieldParser parser = FieldParser.BuildParserWithTwoDelimitersAndQualifier(",", "\r\n", "\"");
            RowParsingContextTestImpl rowParsingContext = new RowParsingContextTestImpl();

            try
            {
                parser.ParseNext(reader, rowParsingContext);
            }
            catch (ParsingBufferOverflowException ex)
            {
                Assert.AreEqual <int>(0, ex.ColumnIndex);
                throw ex;
            }
        }
        internal static IFileReader GetReader(string text)
        {
            IFileReader target = new FileReaderTestImpl(text);

            return target;
        }
        internal static IFileReader GetReader(string text)
        {
            IFileReader target = new FileReaderTestImpl(text);

            return(target);
        }
 public void ProcessRegularCharacterTest()
 {
     ParsingContextTestImpl context = new ParsingContextTestImpl();
     ParsingState target = new ParsingState();
     FileReaderTestImpl reader = new FileReaderTestImpl(50);
     System.Text.StringBuilder localText = new System.Text.StringBuilder();
     while (!reader.IsEOF)
     {
         char nextChar = reader.GetNextChar();
         localText.Append(nextChar);
         Assert.AreEqual(target.ProcessCharacter(context, nextChar), ParsingResult.Match);
         Assert.AreEqual<string>(localText.ToString(), context.CurrentText);
     }
 }
        public void ParseRowWithTooManyColumns()
        {
            RowData rowData = new RowData();
            // It will repeat the given string up to 8000 characters nad that 
            // will pass the maximum number of columns.
            IFileReader reader = new FileReaderTestImpl("ABC,", 2000*4);
            RowParser rowParser = new RowParser(",", "\r\n", string.Empty);

            rowParser.ParseNextRow(reader, rowData);
        }
 public void ParsingBufferOverflowTest()
 {
     IFileReader reader = new FileReaderTestImpl("abcdefghjklmn", 100000);
     FieldParser parser = FieldParser.BuildParserWithTwoDelimitersAndQualifier(",", "\r\n", "\"");
     RowParsingContextTestImpl rowParsingContext = new RowParsingContextTestImpl();
     try
     {
         parser.ParseNext(reader, rowParsingContext);
     }
     catch (ParsingBufferOverflowException ex)
     {
         Assert.AreEqual<int>(0, ex.ColumnIndex);
         throw ex;
     }
 }