1 package com.opencsv;
2
3 import com.opencsv.bean.CsvToBeanBuilder;
4 import com.opencsv.bean.HeaderColumnNameMappingStrategy;
5 import com.opencsv.bean.mocks.AnnotatedMockBeanCustom;
6 import com.opencsv.bean.mocks.AnnotatedMockBeanFull;
7 import com.opencsv.bean.mocks.AnnotatedMockBeanFullDerived;
8 import org.apache.commons.lang3.tuple.ImmutablePair;
9
10 import java.io.FileReader;
11 import java.io.IOException;
12 import java.util.List;
13
14 public class TestUtils {
15 public static ImmutablePair<AnnotatedMockBeanFull, AnnotatedMockBeanFull> createTwoGoodBeans()
16 throws IOException {
17 List<AnnotatedMockBeanFull> beans = new CsvToBeanBuilder<AnnotatedMockBeanFull>(
18 new FileReader("src/test/resources/testinputwriteposfullgood.csv"))
19 .withType(AnnotatedMockBeanFull.class).withSeparator(';').build().parse();
20 return new ImmutablePair<>(beans.get(0), beans.get(1));
21 }
22
23 public static ImmutablePair<AnnotatedMockBeanCustom, AnnotatedMockBeanCustom> createTwoGoodCustomBeans()
24 throws IOException {
25 List<AnnotatedMockBeanCustom> beans = new CsvToBeanBuilder<AnnotatedMockBeanCustom>(
26 new FileReader("src/test/resources/testinputwritecustomposfullgood.csv"))
27 .withType(AnnotatedMockBeanCustom.class).withSeparator(';').build().parse();
28 return new ImmutablePair<>(beans.get(0), beans.get(1));
29 }
30
31 public static ImmutablePair<AnnotatedMockBeanFullDerived, AnnotatedMockBeanFullDerived> createTwoGoodDerivedBeans()
32 throws IOException {
33 HeaderColumnNameMappingStrategy<AnnotatedMockBeanFullDerived> strat = new HeaderColumnNameMappingStrategy<>();
34 strat.setType(AnnotatedMockBeanFullDerived.class);
35 List<AnnotatedMockBeanFullDerived> beans = new CsvToBeanBuilder<AnnotatedMockBeanFullDerived>(
36 new FileReader("src/test/resources/testinputderivedgood.csv"))
37 .withType(AnnotatedMockBeanFullDerived.class)
38 .withSeparator(';')
39 .withMappingStrategy(strat)
40 .build()
41 .parse();
42 return new ImmutablePair<>(beans.get(0), beans.get(1));
43 }
44
45 public static String displayStringArray(String header, String[] stringArray) {
46 StringBuffer sb = new StringBuffer();
47 sb.append(header);
48 appendNewLine(sb);
49 sb.append("Number of elements:");
50 appendTab(sb);
51 sb.append(stringArray.length);
52 appendNewLine(sb);
53
54 for (int i = 0; i < stringArray.length; i++) {
55 sb.append("element ");
56 sb.append(i);
57 sb.append(':');
58 appendTab(sb);
59 sb.append(stringArray[i]);
60 appendNewLine(sb);
61 }
62 return sb.toString();
63 }
64
65 private static void appendTab(StringBuffer sb) {
66 sb.append('\t');
67 }
68
69 private static void appendNewLine(StringBuffer sb) {
70 sb.append('\n');
71 }
72 }