View Javadoc
1   package com.opencsv.stream.reader;
2   
3   import org.junit.jupiter.api.Test;
4   
5   import java.io.BufferedReader;
6   import java.io.IOException;
7   import java.io.StringReader;
8   
9   import static org.junit.jupiter.api.Assertions.assertEquals;
10  
11  public class LineReaderTest {
12      private static final String ORIGINAL = "This is the original string\r\n";
13      private static final String WITH_CR = "This is the original string\r";
14      private static final String NO_CR = "This is the original string";
15      private static final String EMPTY_STRING = "";
16      private static final String NULL_STRING = null;
17  
18      private LineReader createLineReaderforString(String s, boolean keepCR) {
19          StringReader sr = new StringReader(s);
20          return new LineReader(new BufferedReader(sr), keepCR);
21      }
22  
23      @Test
24      public void lineReaderWillKeepCR() throws IOException {
25          LineReader keepCRReader = createLineReaderforString(ORIGINAL, true);
26          assertEquals(WITH_CR, keepCRReader.readLine());
27      }
28  
29      @Test
30      public void lineReaderWillRemoveCR() throws IOException {
31          LineReader noCRReader = createLineReaderforString(ORIGINAL, false);
32          assertEquals(NO_CR, noCRReader.readLine());
33      }
34  
35      @Test
36      public void lineReaderKeepingCRWillHandleStringWithNoLinefeed() throws IOException {
37          LineReader reader = createLineReaderforString(NO_CR, true);
38          assertEquals(NO_CR, reader.readLine());
39      }
40  
41      @Test
42      public void lineReaderNoCRWillHandleStringWithNoLinefeed() throws IOException {
43          LineReader reader = createLineReaderforString(NO_CR, false);
44          assertEquals(NO_CR, reader.readLine());
45      }
46  
47      @Test
48      public void lineReaderKeepingCRWillHandleEmptyString() throws IOException {
49          LineReader reader = createLineReaderforString(EMPTY_STRING, true);
50          assertEquals(NULL_STRING, reader.readLine());
51      }
52  
53      @Test
54      public void lineReaderNoCRWillHandleEmptyString() throws IOException {
55          LineReader reader = createLineReaderforString(EMPTY_STRING, false);
56          assertEquals(NULL_STRING, reader.readLine());
57      }
58  }