2017-07-28 5 views
0

私はCsvHelper http://csvhelper.comバージョン2.16.3を使用しています。私はcsvファイルを解析して、すべてのセルの余分なスペースをすべて削除したいと思っています。C#CsvHelperはフィールド内のスペースをトリミングしません

私がテストにこの結果である

Assert.Equal()失敗 ↓(POS 0) が予想される実行すると、これは私の失敗のユニットテスト

[Fact] 
    public void GetNextBatch_should_trim_every_cell() 
    { 
     var csvService = new CsvService(); 
     var stream = new MemoryStream(); 
     var streamWriter = new StreamWriter(stream); 
     streamWriter.WriteLine(" 123 , hello "); 
     streamWriter.Flush(); 
     stream.Position = 0; 

     var csvParser = new CsvParser(new StreamReader(stream, true), new CsvConfiguration 
     { 
      IsHeaderCaseSensitive = false, 
      SkipEmptyRecords = true, 
      TrimFields = true, 
      TrimHeaders = true 
     }); 

     var res = csvService.GetNextBatch(csvParser, 10); 
     Assert.Equal("123", res.First()[0]); 
     Assert.Equal("hello", res.First()[1]); 
    } 

    public IEnumerable<string[]> GetNextBatch(CsvParser csvParser, int batchSize) 
    { 
     var list = new List<string[]>(); 
     while (list.Count < batchSize) 
     { 
      var rows = csvParser.Read(); 
      if (rows == null) 
       break; 
      list.Add(rows); 
     } 
     return list; 
    } 

です:123 実際:123
↑(pos 0)

私は間違っていますか? ありがとう

+0

IDは私たちには投稿しないことをおすすめします。コード内のバグのように聞こえるから – BugFinder

+0

ありがとう、私はすでにそれをしている –

答えて

0

私は間違った方法でライブラリを使用していましたが、CsvParserではなく、ドキュメントで示唆されているようにCsvReaderを使用する必要があります。

関連する問題