Improve error reporting. New error page that gives a bit more of an explanation...
[frank.git] / test / net / jaekl / frank / ViewScheduleTest.java
1 package net.jaekl.frank;
2
3 import java.util.HashMap;
4
5 import net.jaekl.qd.http.HttpServletRequestMock;
6
7 import org.junit.Assert;
8 import org.junit.Test;
9
10 public class ViewScheduleTest {
11         
12         private HashMap<String, String[]> makeParamMap() {
13                 String[] routeNos = { "127" };
14                 String[] alphas = { "abcdefg" };
15                 String[] kanas = { "あいうえお" };
16
17                 HashMap<String, String[]> paramMap = new HashMap<String, String[]>();
18                 paramMap.put("routeNo", routeNos);
19                 paramMap.put("alpha", alphas);
20                 paramMap.put("kana", kanas);
21                 
22                 return paramMap;
23         }
24         
25         @Test
26         public void testGetParamInt() {
27                 HashMap<String, String[]> paramMap = makeParamMap();
28                 HttpServletRequestMock reqMock = new HttpServletRequestMock(paramMap);
29                 ViewSchedule vs = new ViewSchedule();
30
31                 // Try to get a parameter that is an integer, and is there
32                 int value = vs.getParamInt(reqMock, "routeNo");
33                 Assert.assertEquals(127, value);
34                 
35                 // Try to get a parameter that is not an integer
36                 value = vs.getParamInt(reqMock, "alpha");
37                 Assert.assertEquals(0, value);
38                 
39                 // Try to get a parameter that is not alphanumeric
40                 value = vs.getParamInt(reqMock, "kana");
41                 Assert.assertEquals(0, value);
42                 
43                 // Try to get a parameter that is not present 
44                 value = vs.getParamInt(reqMock, "notPresent");
45                 Assert.assertEquals(0, value);
46         }
47
48         @Test
49         public void testGetParamString() {
50                 HashMap<String, String[]> paramMap = makeParamMap();
51                 HttpServletRequestMock reqMock = new HttpServletRequestMock(paramMap);
52                 ViewSchedule vs = new ViewSchedule();
53
54                 // Try to get a parameter that is an integer, and is there
55                 String value = vs.getParamString(reqMock, "routeNo");
56                 Assert.assertEquals("127", value);
57                 
58                 // Try to get a parameter that is not an integer
59                 value = vs.getParamString(reqMock, "alpha");
60                 Assert.assertEquals("abcdefg", value);
61                 
62                 // Try to get a parameter that is not alphanumeric
63                 value = vs.getParamString(reqMock, "kana");
64                 Assert.assertEquals("あいうえお", value);
65                 
66                 // Try to get a parameter that is not present 
67                 value = vs.getParamString(reqMock, "notPresent");
68                 Assert.assertEquals(null, value);
69         }
70 }