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 import static org.supercsv.SuperCsvTestUtils.date;
21
22 import java.util.Date;
23
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.supercsv.cellprocessor.ift.CellProcessor;
27 import org.supercsv.exception.SuperCsvCellProcessorException;
28 import org.supercsv.mock.IdentityTransform;
29
30
31
32
33
34
35
36 public class FmtDateTest {
37
38 private static final String DATE_FORMAT = "dd/MM/yyyy";
39 private static final Date DATE = date(2011, 12, 25);
40 private static final String FORMATTED_DATE = "25/12/2011";
41
42 private CellProcessor processor;
43 private CellProcessor processorChain;
44
45
46
47
48 @Before
49 public void setUp() {
50 processor = new FmtDate(DATE_FORMAT);
51 processorChain = new FmtDate(DATE_FORMAT, new IdentityTransform());
52 }
53
54
55
56
57 @Test
58 public void testWithValidDate() {
59 assertEquals(FORMATTED_DATE, processor.execute(DATE, ANONYMOUS_CSVCONTEXT));
60 assertEquals(FORMATTED_DATE, processorChain.execute(DATE, ANONYMOUS_CSVCONTEXT));
61 }
62
63
64
65
66 @Test(expected = SuperCsvCellProcessorException.class)
67 public void testWithNull() {
68 processor.execute(null, ANONYMOUS_CSVCONTEXT);
69 }
70
71
72
73
74 @Test(expected = SuperCsvCellProcessorException.class)
75 public void testWithNonDate() {
76 processor.execute(123, ANONYMOUS_CSVCONTEXT);
77 }
78
79
80
81
82 @Test(expected = SuperCsvCellProcessorException.class)
83 public void testWithInvalidDateFormat() {
84 CellProcessor invalidDateFormatProcessor = new FmtDate("abcd");
85 invalidDateFormatProcessor.execute(DATE, ANONYMOUS_CSVCONTEXT);
86 }
87
88
89
90
91 @Test(expected = NullPointerException.class)
92 public void testWithNullDateFormat() {
93 new FmtDate(null);
94 }
95 }