1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.supercsv.cellprocessor;
17
18 import static org.junit.Assert.assertEquals;
19 import static org.supercsv.SuperCsvTestUtils.ANONYMOUS_CSVCONTEXT;
20
21 import org.junit.Before;
22 import org.junit.Test;
23 import org.supercsv.cellprocessor.ift.CellProcessor;
24 import org.supercsv.exception.SuperCsvCellProcessorException;
25 import org.supercsv.mock.IdentityTransform;
26
27
28
29
30
31
32
33 public class ParseCharTest {
34
35 private static final char CHAR = 'c';
36 private static final String STRING = String.valueOf(CHAR);
37
38 private CellProcessor processor;
39 private CellProcessor processorChain;
40
41
42
43
44 @Before
45 public void setUp() {
46 processor = new ParseChar();
47 processorChain = new ParseChar(new IdentityTransform());
48 }
49
50
51
52
53 @Test
54 public void testValidChar() {
55 assertEquals(CHAR, processor.execute(CHAR, ANONYMOUS_CSVCONTEXT));
56 assertEquals(CHAR, processorChain.execute(CHAR, ANONYMOUS_CSVCONTEXT));
57 }
58
59
60
61
62 @Test
63 public void testStringWithSingleChar() {
64 assertEquals(CHAR, processor.execute(STRING, ANONYMOUS_CSVCONTEXT));
65 assertEquals(CHAR, processorChain.execute(STRING, ANONYMOUS_CSVCONTEXT));
66 }
67
68
69
70
71 @Test(expected = SuperCsvCellProcessorException.class)
72 public void testWithMultiCharString() {
73 processor.execute("cc", ANONYMOUS_CSVCONTEXT);
74 }
75
76
77
78
79 @Test(expected = SuperCsvCellProcessorException.class)
80 public void testWithNonCharInput() {
81 processor.execute(1, ANONYMOUS_CSVCONTEXT);
82 }
83
84
85
86
87 @Test(expected = SuperCsvCellProcessorException.class)
88 public void testWithNull() {
89 processor.execute(null, ANONYMOUS_CSVCONTEXT);
90 }
91
92 }