View Javadoc
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 }