1 package org.paneris.jammyjoes.controller;
2
3 import java.util.LinkedList;
4
5 import junit.framework.TestCase;
6
7 import org.melati.template.ServletTemplateContext;
8
9 import com.mockobjects.dynamic.Mock;
10
11 public class TestCaseSearchCriteria extends TestCase {
12
13 public void testNulled() {
14 ParameterProvider unit = new ParameterProvider(null,null);
15 String param = unit.nulled(null);
16 assertEquals(null, param);
17 }
18 public void testNotNulled() {
19 ParameterProvider unit = new ParameterProvider(null,null);
20 String param = unit.nulled("a");
21 assertEquals("a", param);
22 }
23 public void testNulledEmpty() {
24 ParameterProvider unit = new ParameterProvider(null,null);
25 String param = unit.nulled("");
26 assertEquals(null, param);
27 }
28 public void testNulledUnderscore() {
29 ParameterProvider unit = new ParameterProvider(null,null);
30 String param = unit.nulled("_");
31 assertEquals(null, param);
32 }
33
34 public void testTemplateContextParameter() {
35 Mock contextControl = new Mock(ServletTemplateContext.class);
36 ServletTemplateContext tc = (ServletTemplateContext)contextControl.proxy();
37 ParameterProvider unit = new ParameterProvider(tc, null);
38 contextControl.expectAndReturn("getForm", "troid", "1");;
39 String param = unit.getParam("troid", 0);
40 assertEquals("1", param);
41 }
42
43 public void testPathInfoParameter() {
44 Mock contextControl = new Mock(ServletTemplateContext.class);
45 ServletTemplateContext tc = (ServletTemplateContext)contextControl.proxy();
46 String[] pathInfo = {"1"};
47 ParameterProvider unit = new ParameterProvider(tc, pathInfo);
48 contextControl.expectAndReturn("getForm", "troid", null);
49 String param = unit.getParam("troid", 0);
50 assertEquals("1",param);
51 }
52
53 public void testPathInfoNoParameter() {
54 Mock contextControl = new Mock(ServletTemplateContext.class);
55 ServletTemplateContext tc = (ServletTemplateContext)contextControl.proxy();
56 String[] pathInfo = {"1"};
57 ParameterProvider unit = new ParameterProvider(tc, pathInfo);
58 contextControl.expectAndReturn("getForm", "troid", null);
59 String param = unit.getParam("troid", 1);
60 assertEquals(null,param);
61 }
62
63 public void testPathInfoEncodedParameter() {
64 Mock contextControl = new Mock(ServletTemplateContext.class);
65 ServletTemplateContext tc = (ServletTemplateContext)contextControl.proxy();
66 String[] pathInfo = {"%2b"};
67 ParameterProvider unit = new ParameterProvider(tc, pathInfo);
68 contextControl.expectAndReturn("getForm", "troid", null);
69 String param = unit.getParam("troid", 0);
70 assertEquals("+",param);
71 }
72
73
74 public void testTroidConstraint() {
75 Mock contextControl = new Mock(ServletTemplateContext.class);
76 contextControl.expectAndReturn("getForm", "troid", "1");
77 ServletTemplateContext tc = (ServletTemplateContext)contextControl.proxy();
78 TemplateContextSearchCriteria unit = new TemplateContextSearchCriteria(tc, null, null,new Logger("."), null);
79 LinkedList constraints = new LinkedList();
80 unit.constrainTroid(constraints);
81 assertEquals(1, constraints.size());
82 assertEquals("\"id\" = 1", constraints.getFirst().toString());
83 }
84
85 }