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 TokenTest {
34
35 private static final String TOKEN = "foo";
36 private static final String REPLACEMENT = "bar";
37 private static final int TOKEN2 = 2;
38 private static final String REPLACEMENT2 = "two";
39
40 private CellProcessor processor;
41 private CellProcessor processor2;
42 private CellProcessor processorChain;
43 private CellProcessor processorChain2;
44
45
46
47
48 @Before
49 public void setUp() {
50
51 processor = new Token(TOKEN, REPLACEMENT);
52 processorChain = new Token(TOKEN, REPLACEMENT, new IdentityTransform());
53
54
55 processor2 = new Token(TOKEN2, REPLACEMENT2);
56 processorChain2 = new Token(TOKEN2, REPLACEMENT2, new IdentityTransform());
57 }
58
59
60
61
62 @Test
63 public void testValidInput() {
64
65 assertEquals(REPLACEMENT, processor.execute(TOKEN, ANONYMOUS_CSVCONTEXT));
66 assertEquals(REPLACEMENT, processorChain.execute(TOKEN, ANONYMOUS_CSVCONTEXT));
67
68
69 assertEquals(REPLACEMENT2, processor2.execute(TOKEN2, ANONYMOUS_CSVCONTEXT));
70 assertEquals(REPLACEMENT2, processorChain2.execute(TOKEN2, ANONYMOUS_CSVCONTEXT));
71 }
72
73
74
75
76 @Test
77 public void testTokenNotFound() {
78
79 assertEquals(TOKEN2, processor.execute(TOKEN2, ANONYMOUS_CSVCONTEXT));
80 assertEquals(TOKEN2, processorChain.execute(TOKEN2, ANONYMOUS_CSVCONTEXT));
81
82
83 assertEquals(TOKEN, processor2.execute(TOKEN, ANONYMOUS_CSVCONTEXT));
84 assertEquals(TOKEN, processorChain2.execute(TOKEN, ANONYMOUS_CSVCONTEXT));
85 }
86
87
88
89
90 @Test(expected = SuperCsvCellProcessorException.class)
91 public void testWithNull() {
92 processor.execute(null, ANONYMOUS_CSVCONTEXT);
93 }
94 }