mirror of
https://github.com/apache/commons-csv.git
synced 2025-02-13 13:35:51 +00:00
Add and use CSVFormat.Builder, deprecated CSVFormat#with methods, based
on #73.
This commit is contained in:
parent
dc5d034a47
commit
6a2376a906
@ -63,6 +63,7 @@
|
|||||||
<action type="add" dev="ggregory" due-to="Gary Gregory">Add CSVParser#stream().</action>
|
<action type="add" dev="ggregory" due-to="Gary Gregory">Add CSVParser#stream().</action>
|
||||||
<action issue="CSV-184" type="add" dev="ggregory" due-to="Gaurav Agarwal, M. Steiger, Gary Gregory">Make the method CSVRecord.putIn(Map) public.</action>
|
<action issue="CSV-184" type="add" dev="ggregory" due-to="Gaurav Agarwal, M. Steiger, Gary Gregory">Make the method CSVRecord.putIn(Map) public.</action>
|
||||||
<action type="add" dev="ggregory" due-to="dota17">Add test cases for CSVRecord with get(Enum) and toString. #54.</action>
|
<action type="add" dev="ggregory" due-to="dota17">Add test cases for CSVRecord with get(Enum) and toString. #54.</action>
|
||||||
|
<action type="add" dev="ggregory" due-to="Gary Gregory, dota17">Add and use CSVFormat.Builder, deprecated CSVFormat#with methods, based on #73.</action>
|
||||||
<!-- UPDATE -->
|
<!-- UPDATE -->
|
||||||
<action type="update" dev="ggregory" due-to="Gary Gregory">Update org.junit.jupiter:junit-jupiter from 5.6.0 to 5.7.0, #84 #109</action>
|
<action type="update" dev="ggregory" due-to="Gary Gregory">Update org.junit.jupiter:junit-jupiter from 5.6.0 to 5.7.0, #84 #109</action>
|
||||||
<action type="update" dev="ggregory" due-to="Gary Gregory">Update tests from Apache Commons Lang 3.9 to 3.12.0.</action>
|
<action type="update" dev="ggregory" due-to="Gary Gregory">Update tests from Apache Commons Lang 3.9 to 3.12.0.</action>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -233,7 +233,7 @@ public final class CSVPrinter implements Flushable, Closeable {
|
|||||||
* @since 1.9.0
|
* @since 1.9.0
|
||||||
*/
|
*/
|
||||||
public void printHeaders(final ResultSet resultSet) throws IOException, SQLException {
|
public void printHeaders(final ResultSet resultSet) throws IOException, SQLException {
|
||||||
printRecord((Object[]) format.withHeader(resultSet).getHeader());
|
printRecord((Object[]) format.builder().setHeader(resultSet).build().getHeader());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -109,7 +109,7 @@ public final class CSVRecord implements Serializable, Iterable<String> {
|
|||||||
* @see #isMapped(String)
|
* @see #isMapped(String)
|
||||||
* @see #isConsistent()
|
* @see #isConsistent()
|
||||||
* @see #getParser()
|
* @see #getParser()
|
||||||
* @see CSVFormat#withNullString(String)
|
* @see CSVFormat.Builder#setNullString(String)
|
||||||
*/
|
*/
|
||||||
public String get(final String name) {
|
public String get(final String name) {
|
||||||
final Map<String, Integer> headerMap = getHeaderMapRaw();
|
final Map<String, Integer> headerMap = getHeaderMapRaw();
|
||||||
|
@ -65,7 +65,7 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static CSVFormat copy(final CSVFormat format) {
|
private static CSVFormat copy(final CSVFormat format) {
|
||||||
return format.withDelimiter(format.getDelimiter());
|
return format.builder().setDelimiter(format.getDelimiter()).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertNotEquals(final String name, final String type, final Object left, final Object right) {
|
private void assertNotEquals(final String name, final String type, final Object left, final Object right) {
|
||||||
@ -78,17 +78,27 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDelimiterSameAsCommentStartThrowsException() {
|
public void testDelimiterSameAsCommentStartThrowsException0() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withDelimiter('!').withCommentMarker('!'));
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withDelimiter('!').withCommentMarker('!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDelimiterSameAsEscapeThrowsException() {
|
public void testDelimiterSameAsCommentStartThrowsException1() {
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.builder().setDelimiter('!').setCommentMarker('!').build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDelimiterSameAsEscapeThrowsException0() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withDelimiter('!').withEscape('!'));
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withDelimiter('!').withEscape('!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDuplicateHeaderElements() {
|
public void testDelimiterSameAsEscapeThrowsException1() {
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.builder().setDelimiter('!').setEscape('!').build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDuplicateHeaderElements0() {
|
||||||
final String[] header = { "A", "A" };
|
final String[] header = { "A", "A" };
|
||||||
final CSVFormat format = CSVFormat.DEFAULT.withHeader(header);
|
final CSVFormat format = CSVFormat.DEFAULT.withHeader(header);
|
||||||
assertEquals(2, format.getHeader().length);
|
assertEquals(2, format.getHeader().length);
|
||||||
@ -96,16 +106,35 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDuplicateHeaderElementsFalse() {
|
public void testDuplicateHeaderElements() {
|
||||||
|
final String[] header = { "A", "A" };
|
||||||
|
final CSVFormat format = CSVFormat.DEFAULT.builder().setHeader(header).build();
|
||||||
|
assertEquals(2, format.getHeader().length);
|
||||||
|
assertArrayEquals(header, format.getHeader());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDuplicateHeaderElementsFalse0() {
|
||||||
assertThrows(
|
assertThrows(
|
||||||
IllegalArgumentException.class,
|
IllegalArgumentException.class,
|
||||||
() -> CSVFormat.DEFAULT.withAllowDuplicateHeaderNames(false).withHeader("A", "A"));
|
() -> CSVFormat.DEFAULT.withAllowDuplicateHeaderNames(false).withHeader("A", "A"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testDuplicateHeaderElementsTrue() {
|
@Test
|
||||||
|
public void testDuplicateHeaderElementsFalse() {
|
||||||
|
assertThrows(
|
||||||
|
IllegalArgumentException.class,
|
||||||
|
() -> CSVFormat.DEFAULT.builder().setAllowDuplicateHeaderNames(false).setHeader("A", "A").build());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testDuplicateHeaderElementsTrue0() {
|
||||||
CSVFormat.DEFAULT.withAllowDuplicateHeaderNames(true).withHeader("A", "A");
|
CSVFormat.DEFAULT.withAllowDuplicateHeaderNames(true).withHeader("A", "A");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testDuplicateHeaderElementsTrue() {
|
||||||
|
CSVFormat.DEFAULT.builder().setAllowDuplicateHeaderNames(true).setHeader("A", "A").build();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEquals() {
|
public void testEquals() {
|
||||||
final CSVFormat right = CSVFormat.DEFAULT;
|
final CSVFormat right = CSVFormat.DEFAULT;
|
||||||
@ -123,7 +152,7 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsCommentStart() {
|
public void testEqualsCommentStart0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withQuote('"')
|
.withQuote('"')
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
@ -134,6 +163,20 @@ public class CSVFormatTest {
|
|||||||
assertNotEquals(right, left);
|
assertNotEquals(right, left);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsCommentStart() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setQuote('"')
|
||||||
|
.setCommentMarker('#')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setCommentMarker('!')
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsDelimiter() {
|
public void testEqualsDelimiter() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('!');
|
final CSVFormat right = CSVFormat.newFormat('!');
|
||||||
@ -143,7 +186,7 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsEscape() {
|
public void testEqualsEscape0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withQuote('"')
|
.withQuote('"')
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
@ -155,6 +198,21 @@ public class CSVFormatTest {
|
|||||||
assertNotEquals(right, left);
|
assertNotEquals(right, left);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsEscape() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setQuote('"')
|
||||||
|
.setCommentMarker('#')
|
||||||
|
.setEscape('+')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setEscape('!')
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsHash() throws Exception {
|
public void testEqualsHash() throws Exception {
|
||||||
final Method[] methods = CSVFormat.class.getDeclaredMethods();
|
final Method[] methods = CSVFormat.class.getDeclaredMethods();
|
||||||
@ -204,7 +262,7 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsHeader() {
|
public void testEqualsHeader0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withRecordSeparator(CR)
|
.withRecordSeparator(CR)
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
@ -221,7 +279,26 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsIgnoreEmptyLines() {
|
public void testEqualsHeader() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setRecordSeparator(CR)
|
||||||
|
.setCommentMarker('#')
|
||||||
|
.setEscape('+')
|
||||||
|
.setHeader("One", "Two", "Three")
|
||||||
|
.setIgnoreEmptyLines(true)
|
||||||
|
.setIgnoreSurroundingSpaces(true)
|
||||||
|
.setQuote('"')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setHeader("Three", "Two", "One")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsIgnoreEmptyLines0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
.withEscape('+')
|
.withEscape('+')
|
||||||
@ -236,7 +313,24 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsIgnoreSurroundingSpaces() {
|
public void testEqualsIgnoreEmptyLines() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setCommentMarker('#')
|
||||||
|
.setEscape('+')
|
||||||
|
.setIgnoreEmptyLines(true)
|
||||||
|
.setIgnoreSurroundingSpaces(true)
|
||||||
|
.setQuote('"')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setIgnoreEmptyLines(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsIgnoreSurroundingSpaces0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
.withEscape('+')
|
.withEscape('+')
|
||||||
@ -250,23 +344,55 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsLeftNoQuoteRightQuote() {
|
public void testEqualsIgnoreSurroundingSpaces() {
|
||||||
final CSVFormat left = CSVFormat.newFormat(',').withQuote(null);
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
final CSVFormat right = left.withQuote('#');
|
.setCommentMarker('#')
|
||||||
|
.setEscape('+')
|
||||||
|
.setIgnoreSurroundingSpaces(true)
|
||||||
|
.setQuote('"')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setIgnoreSurroundingSpaces(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
assertNotEquals(left, right);
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsLeftNoQuoteRightQuote0() {
|
||||||
|
final CSVFormat left = CSVFormat.newFormat(',').withQuote(null);
|
||||||
|
final CSVFormat right = left.withQuote('#');
|
||||||
|
|
||||||
|
assertNotEquals(left, right);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsLeftNoQuoteRightQuote() {
|
||||||
|
final CSVFormat left = CSVFormat.newFormat(',').builder().setQuote(null).build();
|
||||||
|
final CSVFormat right = left.builder().setQuote('#').build();
|
||||||
|
|
||||||
|
assertNotEquals(left, right);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsNoQuotes0() {
|
||||||
|
final CSVFormat left = CSVFormat.newFormat(',').withQuote(null);
|
||||||
|
final CSVFormat right = left.withQuote(null);
|
||||||
|
|
||||||
|
assertEquals(left, right);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsNoQuotes() {
|
public void testEqualsNoQuotes() {
|
||||||
final CSVFormat left = CSVFormat.newFormat(',').withQuote(null);
|
final CSVFormat left = CSVFormat.newFormat(',').builder().setQuote(null).build();
|
||||||
final CSVFormat right = left.withQuote(null);
|
final CSVFormat right = left.builder().setQuote(null).build();
|
||||||
|
|
||||||
assertEquals(left, right);
|
assertEquals(left, right);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsNullString() {
|
public void testEqualsNullString0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withRecordSeparator(CR)
|
.withRecordSeparator(CR)
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
@ -282,6 +408,25 @@ public class CSVFormatTest {
|
|||||||
assertNotEquals(right, left);
|
assertNotEquals(right, left);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsNullString() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setRecordSeparator(CR)
|
||||||
|
.setCommentMarker('#')
|
||||||
|
.setEscape('+')
|
||||||
|
.setIgnoreEmptyLines(true)
|
||||||
|
.setIgnoreSurroundingSpaces(true)
|
||||||
|
.setQuote('"')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.setNullString("null")
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setNullString("---")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsOne() {
|
public void testEqualsOne() {
|
||||||
|
|
||||||
@ -412,7 +557,7 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsQuoteChar() {
|
public void testEqualsQuoteChar0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'').withQuote('"');
|
final CSVFormat right = CSVFormat.newFormat('\'').withQuote('"');
|
||||||
final CSVFormat left = right.withQuote('!');
|
final CSVFormat left = right.withQuote('!');
|
||||||
|
|
||||||
@ -420,7 +565,15 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsQuotePolicy() {
|
public void testEqualsQuoteChar() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder().setQuote('"').build();
|
||||||
|
final CSVFormat left = right.builder().setQuote('!').build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsQuotePolicy0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withQuote('"')
|
.withQuote('"')
|
||||||
.withQuoteMode(QuoteMode.ALL);
|
.withQuoteMode(QuoteMode.ALL);
|
||||||
@ -431,7 +584,20 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsRecordSeparator() {
|
public void testEqualsQuotePolicy() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setQuote('"')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setQuoteMode(QuoteMode.MINIMAL)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsRecordSeparator0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withRecordSeparator(CR)
|
.withRecordSeparator(CR)
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
@ -447,7 +613,25 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsSkipHeaderRecord() {
|
public void testEqualsRecordSeparator() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setRecordSeparator(CR)
|
||||||
|
.setCommentMarker('#')
|
||||||
|
.setEscape('+')
|
||||||
|
.setIgnoreEmptyLines(true)
|
||||||
|
.setIgnoreSurroundingSpaces(true)
|
||||||
|
.setQuote('"')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setRecordSeparator(LF)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEqualsSkipHeaderRecord0() {
|
||||||
final CSVFormat right = CSVFormat.newFormat('\'')
|
final CSVFormat right = CSVFormat.newFormat('\'')
|
||||||
.withRecordSeparator(CR)
|
.withRecordSeparator(CR)
|
||||||
.withCommentMarker('#')
|
.withCommentMarker('#')
|
||||||
@ -464,6 +648,25 @@ public class CSVFormatTest {
|
|||||||
assertNotEquals(right, left);
|
assertNotEquals(right, left);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testEqualsSkipHeaderRecord() {
|
||||||
|
final CSVFormat right = CSVFormat.newFormat('\'').builder()
|
||||||
|
.setRecordSeparator(CR)
|
||||||
|
.setCommentMarker('#')
|
||||||
|
.setEscape('+')
|
||||||
|
.setIgnoreEmptyLines(true)
|
||||||
|
.setIgnoreSurroundingSpaces(true)
|
||||||
|
.setQuote('"')
|
||||||
|
.setQuoteMode(QuoteMode.ALL)
|
||||||
|
.setNullString("null")
|
||||||
|
.setSkipHeaderRecord(true)
|
||||||
|
.build();
|
||||||
|
final CSVFormat left = right.builder()
|
||||||
|
.setSkipHeaderRecord(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertNotEquals(right, left);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsWithNull() {
|
public void testEqualsWithNull() {
|
||||||
|
|
||||||
@ -528,16 +731,29 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEscapeSameAsCommentStartThrowsException() {
|
public void testEscapeSameAsCommentStartThrowsException0() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withEscape('!').withCommentMarker('!'));
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withEscape('!').withCommentMarker('!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEscapeSameAsCommentStartThrowsException() {
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.builder().setEscape('!').setCommentMarker('!').build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEscapeSameAsCommentStartThrowsExceptionForWrapperType0() {
|
||||||
|
// Cannot assume that callers won't use different Character objects
|
||||||
|
assertThrows(
|
||||||
|
IllegalArgumentException.class,
|
||||||
|
() -> CSVFormat.DEFAULT.withEscape(Character.valueOf('!')).withCommentMarker(Character.valueOf('!')));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEscapeSameAsCommentStartThrowsExceptionForWrapperType() {
|
public void testEscapeSameAsCommentStartThrowsExceptionForWrapperType() {
|
||||||
// Cannot assume that callers won't use different Character objects
|
// Cannot assume that callers won't use different Character objects
|
||||||
assertThrows(
|
assertThrows(
|
||||||
IllegalArgumentException.class,
|
IllegalArgumentException.class,
|
||||||
() -> CSVFormat.DEFAULT.withEscape(Character.valueOf('!')).withCommentMarker(Character.valueOf('!')));
|
() -> CSVFormat.DEFAULT.builder().setEscape(Character.valueOf('!')).setCommentMarker(Character.valueOf('!')).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -590,10 +806,15 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testJiraCsv236() {
|
public void testJiraCsv236_0() {
|
||||||
CSVFormat.DEFAULT.withAllowDuplicateHeaderNames().withHeader("CC","VV","VV");
|
CSVFormat.DEFAULT.withAllowDuplicateHeaderNames().withHeader("CC","VV","VV");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testJiraCsv236() {
|
||||||
|
CSVFormat.DEFAULT.builder().setAllowDuplicateHeaderNames(true).setHeader("CC","VV","VV").build();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNewFormat() {
|
public void testNewFormat() {
|
||||||
|
|
||||||
@ -656,7 +877,7 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNullRecordSeparatorCsv106() {
|
public void testNullRecordSeparatorCsv106_0() {
|
||||||
final CSVFormat format = CSVFormat.newFormat(';').withSkipHeaderRecord().withHeader("H1", "H2");
|
final CSVFormat format = CSVFormat.newFormat(';').withSkipHeaderRecord().withHeader("H1", "H2");
|
||||||
final String formatStr = format.format("A", "B");
|
final String formatStr = format.format("A", "B");
|
||||||
assertNotNull(formatStr);
|
assertNotNull(formatStr);
|
||||||
@ -664,10 +885,31 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testQuoteCharSameAsCommentStartThrowsException() {
|
public void testNullRecordSeparatorCsv106() {
|
||||||
|
final CSVFormat format = CSVFormat.newFormat(';').builder().setSkipHeaderRecord(true).setHeader("H1", "H2").build();
|
||||||
|
final String formatStr = format.format("A", "B");
|
||||||
|
assertNotNull(formatStr);
|
||||||
|
assertFalse(formatStr.endsWith("null"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testQuoteCharSameAsCommentStartThrowsException0() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withQuote('!').withCommentMarker('!'));
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withQuote('!').withCommentMarker('!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testQuoteCharSameAsCommentStartThrowsException() {
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.builder().setQuote('!').setCommentMarker('!').build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testQuoteCharSameAsCommentStartThrowsExceptionForWrapperType0() {
|
||||||
|
// Cannot assume that callers won't use different Character objects
|
||||||
|
assertThrows(
|
||||||
|
IllegalArgumentException.class,
|
||||||
|
() -> CSVFormat.DEFAULT.builder().setQuote(Character.valueOf('!')).setCommentMarker('!').build());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testQuoteCharSameAsCommentStartThrowsExceptionForWrapperType() {
|
public void testQuoteCharSameAsCommentStartThrowsExceptionForWrapperType() {
|
||||||
// Cannot assume that callers won't use different Character objects
|
// Cannot assume that callers won't use different Character objects
|
||||||
@ -677,15 +919,25 @@ public class CSVFormatTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testQuoteCharSameAsDelimiterThrowsException() {
|
public void testQuoteCharSameAsDelimiterThrowsException0() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withQuote('!').withDelimiter('!'));
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.withQuote('!').withDelimiter('!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testQuotePolicyNoneWithoutEscapeThrowsException() {
|
public void testQuoteCharSameAsDelimiterThrowsException() {
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.DEFAULT.builder().setQuote('!').setDelimiter('!').build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testQuotePolicyNoneWithoutEscapeThrowsException0() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> CSVFormat.newFormat('!').withQuoteMode(QuoteMode.NONE));
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.newFormat('!').withQuoteMode(QuoteMode.NONE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testQuotePolicyNoneWithoutEscapeThrowsException() {
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> CSVFormat.newFormat('!').builder().setQuoteMode(QuoteMode.NONE).build());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRFC4180() {
|
public void testRFC4180() {
|
||||||
assertEquals(null, RFC4180.getCommentMarker());
|
assertEquals(null, RFC4180.getCommentMarker());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user