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
18
19
20
21 public class isClosedTest {
22
23 private static final String ONE_ROW = "col\tcol\tcol\tcol\tcol\tcol\tcol\r\n";
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 }