/
CSVReaderTest.java
executable file
·96 lines (83 loc) · 3.3 KB
/
CSVReaderTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package com.opencsv;
/*
* #%L
* Evaluation
* %%
* Copyright (C) 2015 Github jjYBdx4IL Projects
* %%
* #L%
*/
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.*;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author Github jjYBdx4IL Projects
*/
public class CSVReaderTest {
private static final Logger LOG = LoggerFactory.getLogger(CSVReaderTest.class);
private static final String TEST_INPUT_1 = ""
+ "Datum,Beschreibung,Beschreibung2,Wert\n"
+ "28.02.2015,Habenzinsen (Nr. T2099662539),\"\",\"2,41\"\n"
+ "28.02.2015,Kapitalertragsteuer (Nr. T2099640232),\"\",\"-0,6\"\n";
private static final String TEST_INPUT_2 = ""
+ "Datum;Beschreibung;Beschreibung2;Wert\n"
+ "28.02.2015;Habenzinsen (Nr. T2099662539);\"\";2,41\n"
+ "28.02.2015;Kapitalertragsteuer (Nr. T2099640232);\"\";-0,6\n";
@Test
public void testCSVReader() throws IOException {
CSVReader reader = new CSVReader(new InputStreamReader(new ByteArrayInputStream(TEST_INPUT_1.getBytes())));
String[] nextLine;
List<String[]> lines = new ArrayList<>();
while ((nextLine = reader.readNext()) != null) {
LOG.info(Arrays.toString(nextLine));
lines.add(nextLine);
}
reader.close();
assertEquals(3, lines.size());
assertEquals(4, lines.get(0).length);
assertEquals(4, lines.get(1).length);
assertEquals(4, lines.get(2).length);
assertEquals("Datum", lines.get(0)[0]);
assertEquals("Beschreibung", lines.get(0)[1]);
assertEquals("Beschreibung2", lines.get(0)[2]);
assertEquals("Wert", lines.get(0)[3]);
assertEquals("28.02.2015", lines.get(1)[0]);
assertEquals("Habenzinsen (Nr. T2099662539)", lines.get(1)[1]);
assertEquals("", lines.get(1)[2]);
assertEquals("2,41", lines.get(1)[3]);
assertEquals("28.02.2015", lines.get(2)[0]);
assertEquals("Kapitalertragsteuer (Nr. T2099640232)", lines.get(2)[1]);
assertEquals("", lines.get(2)[2]);
assertEquals("-0,6", lines.get(2)[3]);
}
@Test
public void testCSVReaderSkipLines() throws IOException {
CSVReader reader = new CSVReader(new InputStreamReader(new ByteArrayInputStream(TEST_INPUT_2.getBytes())), ';', '"', 1);
String[] nextLine;
List<String[]> lines = new ArrayList<>();
while ((nextLine = reader.readNext()) != null) {
LOG.info(Arrays.toString(nextLine));
lines.add(nextLine);
}
reader.close();
assertEquals(2, lines.size());
assertEquals(4, lines.get(0).length);
assertEquals(4, lines.get(1).length);
assertEquals("28.02.2015", lines.get(0)[0]);
assertEquals("Habenzinsen (Nr. T2099662539)", lines.get(0)[1]);
assertEquals("", lines.get(0)[2]);
assertEquals("2,41", lines.get(0)[3]);
assertEquals("28.02.2015", lines.get(1)[0]);
assertEquals("Kapitalertragsteuer (Nr. T2099640232)", lines.get(1)[1]);
assertEquals("", lines.get(1)[2]);
assertEquals("-0,6", lines.get(1)[3]);
}
}