1 package com.opencsv;
2
3 import com.opencsv.enums.CSVReaderNullFieldIndicator;
4 import org.junit.jupiter.api.BeforeEach;
5 import org.junit.jupiter.api.Test;
6
7 import static org.junit.jupiter.api.Assertions.assertEquals;
8
9 public class CSVParserBuilderTest {
10
11 private CSVParserBuilder builder;
12
13 @BeforeEach
14 public void setUp() {
15 builder = new CSVParserBuilder();
16 }
17
18 @Test
19 public void testDefaultBuilder() {
20 assertEquals(
21 ICSVParser.DEFAULT_SEPARATOR,
22 builder.getSeparator());
23 assertEquals(
24 ICSVParser.DEFAULT_QUOTE_CHARACTER,
25 builder.getQuoteChar());
26 assertEquals(
27 ICSVParser.DEFAULT_ESCAPE_CHARACTER,
28 builder.getEscapeChar());
29 assertEquals(
30 ICSVParser.DEFAULT_STRICT_QUOTES,
31 builder.isStrictQuotes());
32 assertEquals(
33 ICSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE,
34 builder.isIgnoreLeadingWhiteSpace());
35 assertEquals(
36 ICSVParser.DEFAULT_IGNORE_QUOTATIONS,
37 builder.isIgnoreQuotations());
38 assertEquals(CSVReaderNullFieldIndicator.NEITHER, builder.getNullFieldIndicator());
39
40 CSVParser parser = builder.build();
41 assertEquals(
42 ICSVParser.DEFAULT_SEPARATOR,
43 parser.getSeparator());
44 assertEquals(
45 ICSVParser.DEFAULT_QUOTE_CHARACTER,
46 parser.getQuotechar());
47 assertEquals(
48 ICSVParser.DEFAULT_ESCAPE_CHARACTER,
49 parser.getEscape());
50 assertEquals(
51 ICSVParser.DEFAULT_STRICT_QUOTES,
52 parser.isStrictQuotes());
53 assertEquals(
54 ICSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE,
55 parser.isIgnoreLeadingWhiteSpace());
56 assertEquals(
57 ICSVParser.DEFAULT_IGNORE_QUOTATIONS,
58 parser.isIgnoreQuotations());
59 assertEquals(CSVReaderNullFieldIndicator.NEITHER, parser.nullFieldIndicator());
60 }
61
62 @Test
63 public void testWithSeparator() {
64 final char expected = '1';
65 builder.withSeparator(expected);
66 assertEquals(expected, builder.getSeparator());
67 assertEquals(expected, builder.build().getSeparator());
68 }
69
70 @Test
71 public void testWithQuoteChar() {
72 final char expected = '2';
73 builder.withQuoteChar(expected);
74 assertEquals(expected, builder.getQuoteChar());
75 assertEquals(expected, builder.build().getQuotechar());
76 }
77
78 @Test
79 public void testWithEscapeChar() {
80 final char expected = '3';
81 builder.withEscapeChar(expected);
82 assertEquals(expected, builder.getEscapeChar());
83 assertEquals(expected, builder.build().getEscape());
84 }
85
86 @Test
87 public void testWithStrictQuotes() {
88 final boolean expected = true;
89 builder.withStrictQuotes(expected);
90 assertEquals(expected, builder.isStrictQuotes());
91 assertEquals(expected, builder.build().isStrictQuotes());
92 }
93
94 @Test
95 public void testWithIgnoreLeadingWhiteSpace() {
96 final boolean expected = true;
97 builder.withIgnoreLeadingWhiteSpace(expected);
98 assertEquals(expected, builder.isIgnoreLeadingWhiteSpace());
99 assertEquals(expected, builder.build().isIgnoreLeadingWhiteSpace());
100 }
101
102 @Test
103 public void testWithIgnoreQuotations() {
104 final boolean expected = true;
105 builder.withIgnoreQuotations(expected);
106 assertEquals(expected, builder.isIgnoreQuotations());
107 assertEquals(expected, builder.build().isIgnoreQuotations());
108 }
109 }