View Javadoc
1   package com.opencsv;
2   
3   import org.junit.jupiter.api.BeforeEach;
4   import org.junit.jupiter.api.DisplayName;
5   import org.junit.jupiter.api.Test;
6   import org.junit.jupiter.params.ParameterizedTest;
7   import org.junit.jupiter.params.provider.CsvSource;
8   
9   import java.io.IOException;
10  
11  import static org.junit.jupiter.api.Assertions.assertEquals;
12  import static org.junit.jupiter.api.Assertions.assertTrue;
13  
14  public class RFC4180ParserTest {
15  
16      private RFC4180ParserBuilder builder;
17      private RFC4180Parser parser;
18  
19      @BeforeEach
20      public void setUp() {
21          builder = new RFC4180ParserBuilder();
22          parser = builder.build();
23      }
24  
25      @DisplayName("Compare both versions of parseToLine")
26      @ParameterizedTest(name = "value 1 = {0} value 2 = {1} value 3 = {2}")
27      @CsvSource({"value1, value2, value3",
28              "slightly more complex value, another value, third value"})
29      public void compareParseToLine(String value1, String value2, String value3) throws IOException {
30          String[] values = {value1, value2, value3};
31          StringBuilder stringBuilder = new StringBuilder();
32  
33          String parse1 = parser.parseToLine(values, true);
34          parser.parseToLine(values, true, stringBuilder);
35  
36          assertEquals(parse1, stringBuilder.toString());
37      }
38  
39      @Test
40      @DisplayName("handling of an empty string")
41      public void testEmptyString() throws IOException {
42          String[] nextLine = parser.parseLineMulti("");
43          assertEquals(1, nextLine.length);
44          assertTrue(nextLine[0].isEmpty());
45      }
46  }