View Javadoc
1   package integrationTest.isClosed;
2   
3   import com.opencsv.CSVParserBuilder;
4   import com.opencsv.CSVReader;
5   import com.opencsv.CSVReaderBuilder;
6   import com.opencsv.exceptions.CsvException;
7   import org.junit.jupiter.api.Test;
8   
9   import java.io.IOException;
10  import java.io.Reader;
11  import java.io.StringReader;
12  import java.util.List;
13  
14  import static org.junit.jupiter.api.Assertions.assertEquals;
15  
16  /**
17   * I created this class to test out all the issues that is being seen with the isClosed
18   * that was introduced in the CSVReader for version 3.
19   * <p>Created by scott on 7/28/15.</p>
20   */
21  public class isClosedTest {
22  
23      private static final String ONE_ROW = "col\tcol\tcol\tcol\tcol\tcol\tcol\r\n"; // 10byte
24      private static final int ROWS = 10001;
25  
26      @Test
27      public void issue115StandardReadFailsAfterALargeNumberOfReads() throws IOException, CsvException {
28          StringBuilder all = new StringBuilder();
29          for (int i = 0; i < ROWS; i++) {
30              all.append(ONE_ROW);
31          }
32  
33          Reader reader = new StringReader(all.toString());
34          CSVReader csvr = new CSVReaderBuilder(reader)
35                  .withCSVParser(new CSVParserBuilder()
36                          .withSeparator('\t')
37                          .build())
38                  .build();
39          List<String[]> rows = csvr.readAll();
40          csvr.close();
41  
42          assertEquals(ROWS, rows.size());
43      }
44  }