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  }