1 package com.opencsv.util;
2
3 import com.opencsv.ICSVParser;
4 import com.opencsv.RFC4180Parser;
5
6 import java.io.BufferedReader;
7 import java.io.StringReader;
8 import java.util.ArrayList;
9 import java.util.List;
10
11
12
13
14
15
16 public class MockDataBuilder {
17
18 private String headerString;
19 private final List<String> dataRows = new ArrayList<>();
20 RFC4180Parser parser = new RFC4180Parser();
21
22 public void setHeaderString(String headerString) {
23 this.headerString = headerString;
24 }
25
26 public void addDataRow(String row) {
27 dataRows.add(row);
28 }
29
30 public void addColumns(String... values) {
31 dataRows.add(parser.parseToLine(values, true));
32 }
33
34 public String buildDataString() {
35 StringBuilder builder = new StringBuilder(ICSVParser.INITIAL_READ_SIZE);
36 if (headerString != null && !headerString.trim().isEmpty()) {
37 builder.append(headerString);
38 builder.append(ICSVParser.NEWLINE);
39 }
40 for (String row : dataRows) {
41 builder.append(row);
42 builder.append(ICSVParser.NEWLINE);
43 }
44 return builder.toString();
45 }
46
47
48
49
50
51 public StringReader buildStringReader() {
52 return new StringReader(buildDataString());
53 }
54
55
56
57
58
59 public BufferedReader buildBufferedReader() {
60 return new BufferedReader(buildStringReader());
61 }
62 }