View Javadoc
1   package com.opencsv;
2   
3   import com.opencsv.exceptions.CsvException;
4   import com.opencsv.processor.BlankColumnsBecomeNull;
5   import com.opencsv.processor.RowProcessor;
6   import org.junit.jupiter.api.DisplayName;
7   import org.junit.jupiter.api.Test;
8   
9   import java.io.IOException;
10  import java.io.StringReader;
11  import java.util.List;
12  
13  import static org.junit.jupiter.api.Assertions.*;
14  
15  public class CSVReaderWithRowProcessorTest {
16      private static final RowProcessor ROW_PROCESSOR = new BlankColumnsBecomeNull();
17      private static final String LINES = "a,, \n, ,\n";
18  
19      @DisplayName("CSVReader with RowProcessor with good string")
20      @Test
21      public void readerWithRowProcessor() throws IOException, CsvException {
22  
23          StringReader stringReader = new StringReader(LINES);
24          CSVReaderBuilder builder = new CSVReaderBuilder(stringReader);
25  
26          CSVReader csvReader = builder
27                  .withRowProcessor(ROW_PROCESSOR)
28                  .build();
29  
30          List<String[]> rows = csvReader.readAll();
31          assertEquals(2, rows.size());
32  
33          String[] row1 = rows.get(0);
34          assertEquals(3, row1.length);
35          assertEquals("a", row1[0]);
36          assertNull(row1[1]);
37          assertEquals(" ", row1[2]);
38  
39          String[] row2 = rows.get(1);
40          assertEquals(3, row2.length);
41          assertNull(row2[0]);
42          assertEquals(" ", row2[1]);
43          assertNull(row2[2]);
44      }
45  
46      @DisplayName("CSVReader without RowProcessor with good string")
47      @Test
48      public void readerWithoutRowProcessor() throws IOException, CsvException {
49  
50          StringReader stringReader = new StringReader(LINES);
51          CSVReaderBuilder builder = new CSVReaderBuilder(stringReader);
52  
53          CSVReader csvReader = builder.build();
54  
55          List<String[]> rows = csvReader.readAll();
56          assertEquals(2, rows.size());
57  
58          String[] row1 = rows.get(0);
59          assertEquals(3, row1.length);
60          assertEquals("a", row1[0]);
61          assertTrue(row1[1].isEmpty());
62          assertEquals(" ", row1[2]);
63  
64          String[] row2 = rows.get(1);
65          assertEquals(3, row2.length);
66          assertTrue(row2[0].isEmpty());
67          assertEquals(" ", row2[1]);
68          assertTrue(row2[2].isEmpty());
69      }
70  }