Skip to content

Commit de158f9

Browse files
committed
Use try-with-resources
1 parent e75b90a commit de158f9

1 file changed

Lines changed: 48 additions & 52 deletions

File tree

src/test/java/org/apache/commons/csv/CSVParserTest.java

Lines changed: 48 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1623,61 +1623,57 @@ private void validateRecordNumbers(final String lineSeparator) throws IOExceptio
16231623

16241624
private void validateRecordPosition(final String lineSeparator) throws IOException {
16251625
final String nl = lineSeparator; // used as linebreak in values for better distinction
1626-
16271626
final String code = "a,b,c" + lineSeparator + "1,2,3" + lineSeparator +
16281627
// to see if recordPosition correctly points to the enclosing quote
1629-
"'A" + nl + "A','B" + nl + "B',CC" + lineSeparator +
1630-
// unicode test... not very relevant while operating on strings instead of bytes, but for
1631-
// completeness...
1632-
"\u00c4,\u00d6,\u00dc" + lineSeparator + "EOF,EOF,EOF";
1633-
1628+
"'A" + nl + "A','B" + nl + "B',CC" + lineSeparator +
1629+
// unicode test... not very relevant while operating on strings instead of bytes, but for
1630+
// completeness...
1631+
"\u00c4,\u00d6,\u00dc" + lineSeparator + "EOF,EOF,EOF";
16341632
final CSVFormat format = CSVFormat.newFormat(',').withQuote('\'').withRecordSeparator(lineSeparator);
1635-
CSVParser parser = CSVParser.parse(code, format);
1636-
1637-
CSVRecord record;
1638-
assertEquals(0, parser.getRecordNumber());
1639-
1640-
assertNotNull(record = parser.nextRecord());
1641-
assertEquals(1, record.getRecordNumber());
1642-
assertEquals(code.indexOf('a'), record.getCharacterPosition());
1643-
1644-
assertNotNull(record = parser.nextRecord());
1645-
assertEquals(2, record.getRecordNumber());
1646-
assertEquals(code.indexOf('1'), record.getCharacterPosition());
1647-
1648-
assertNotNull(record = parser.nextRecord());
1649-
final long positionRecord3 = record.getCharacterPosition();
1650-
assertEquals(3, record.getRecordNumber());
1651-
assertEquals(code.indexOf("'A"), record.getCharacterPosition());
1652-
assertEquals("A" + lineSeparator + "A", record.get(0));
1653-
assertEquals("B" + lineSeparator + "B", record.get(1));
1654-
assertEquals("CC", record.get(2));
1655-
1656-
assertNotNull(record = parser.nextRecord());
1657-
assertEquals(4, record.getRecordNumber());
1658-
assertEquals(code.indexOf('\u00c4'), record.getCharacterPosition());
1659-
1660-
assertNotNull(record = parser.nextRecord());
1661-
assertEquals(5, record.getRecordNumber());
1662-
assertEquals(code.indexOf("EOF"), record.getCharacterPosition());
1663-
1664-
parser.close();
1665-
1633+
final long positionRecord3;
1634+
try (CSVParser parser = CSVParser.parse(code, format)) {
1635+
CSVRecord record;
1636+
assertEquals(0, parser.getRecordNumber());
1637+
// nextRecord
1638+
assertNotNull(record = parser.nextRecord());
1639+
assertEquals(1, record.getRecordNumber());
1640+
assertEquals(code.indexOf('a'), record.getCharacterPosition());
1641+
// nextRecord
1642+
assertNotNull(record = parser.nextRecord());
1643+
assertEquals(2, record.getRecordNumber());
1644+
assertEquals(code.indexOf('1'), record.getCharacterPosition());
1645+
// nextRecord
1646+
assertNotNull(record = parser.nextRecord());
1647+
positionRecord3 = record.getCharacterPosition();
1648+
assertEquals(3, record.getRecordNumber());
1649+
assertEquals(code.indexOf("'A"), record.getCharacterPosition());
1650+
assertEquals("A" + lineSeparator + "A", record.get(0));
1651+
assertEquals("B" + lineSeparator + "B", record.get(1));
1652+
assertEquals("CC", record.get(2));
1653+
// nextRecord
1654+
assertNotNull(record = parser.nextRecord());
1655+
assertEquals(4, record.getRecordNumber());
1656+
assertEquals(code.indexOf('\u00c4'), record.getCharacterPosition());
1657+
// nextRecord
1658+
assertNotNull(record = parser.nextRecord());
1659+
assertEquals(5, record.getRecordNumber());
1660+
assertEquals(code.indexOf("EOF"), record.getCharacterPosition());
1661+
}
16661662
// now try to read starting at record 3
1667-
parser = new CSVParser(new StringReader(code.substring((int) positionRecord3)), format, positionRecord3, 3);
1668-
1669-
assertNotNull(record = parser.nextRecord());
1670-
assertEquals(3, record.getRecordNumber());
1671-
assertEquals(code.indexOf("'A"), record.getCharacterPosition());
1672-
assertEquals("A" + lineSeparator + "A", record.get(0));
1673-
assertEquals("B" + lineSeparator + "B", record.get(1));
1674-
assertEquals("CC", record.get(2));
1675-
1676-
assertNotNull(record = parser.nextRecord());
1677-
assertEquals(4, record.getRecordNumber());
1678-
assertEquals(code.indexOf('\u00c4'), record.getCharacterPosition());
1679-
assertEquals("\u00c4", record.get(0));
1680-
1681-
parser.close();
1663+
try (CSVParser parser = new CSVParser(new StringReader(code.substring((int) positionRecord3)), format, positionRecord3, 3)) {
1664+
CSVRecord record;
1665+
// nextRecord
1666+
assertNotNull(record = parser.nextRecord());
1667+
assertEquals(3, record.getRecordNumber());
1668+
assertEquals(code.indexOf("'A"), record.getCharacterPosition());
1669+
assertEquals("A" + lineSeparator + "A", record.get(0));
1670+
assertEquals("B" + lineSeparator + "B", record.get(1));
1671+
assertEquals("CC", record.get(2));
1672+
// nextRecord
1673+
assertNotNull(record = parser.nextRecord());
1674+
assertEquals(4, record.getRecordNumber());
1675+
assertEquals(code.indexOf('\u00c4'), record.getCharacterPosition());
1676+
assertEquals("\u00c4", record.get(0));
1677+
}
16821678
}
16831679
}

0 commit comments

Comments
 (0)