KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > core > MapperTestCase


1 /*****************************************
2  * *
3  * JBoss Portal: The OpenSource Portal *
4  * *
5  * Forums JBoss Portlet *
6  * *
7  * Distributable under LGPL license. *
8  * See terms of license at gnu.org. *
9  * *
10  *****************************************/

11 package org.jboss.portal.test.core;
12
13 import junit.framework.TestCase;
14 import org.jboss.portal.core.impl.invocation.Mapper;
15 import org.jboss.portal.core.impl.invocation.SimpleMapper;
16 import org.jboss.portal.core.impl.invocation.MappingContext;
17 import org.jboss.portal.core.impl.invocation.MappingResult;
18
19 import java.util.Map JavaDoc;
20 import java.util.HashMap JavaDoc;
21
22 /**
23  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
24  * @version $Revision: 1.1 $
25  */

26 public class MapperTestCase extends TestCase
27 {
28
29    public MapperTestCase(String JavaDoc s)
30    {
31       super(s);
32    }
33
34    private Mapper mapper;
35
36    protected void setUp() throws Exception JavaDoc
37    {
38      mapper = new SimpleMapper();
39    }
40
41    protected void tearDown() throws Exception JavaDoc
42    {
43       mapper = null;
44    }
45
46    public void testEmptyContext()
47    {
48       MappingContextImpl root = new MappingContextImpl(null);
49
50       assertEquals(new MappingResult(null, null, null), mapper.map(root, null));
51       assertEquals(new MappingResult(null, null, null), mapper.map(root, ""));
52       assertEquals(new MappingResult(null, null, "/"), mapper.map(root, "/"));
53       assertEquals(new MappingResult(null, null, "/"), mapper.map(root, "//"));
54
55       assertEquals(new MappingResult(null, null, "/a"), mapper.map(root, "/a"));
56       assertEquals(new MappingResult(null, null, "/a/"), mapper.map(root, "/a/"));
57       assertEquals(new MappingResult(null, null, "/a/b"), mapper.map(root, "/a/b"));
58       assertEquals(new MappingResult(null, null, "/a/b/"), mapper.map(root, "/a/b/"));
59       assertEquals(new MappingResult(null, null, "/a/b/c"), mapper.map(root, "/a/b/c"));
60    }
61
62    public void testOneChild()
63    {
64       MappingContextImpl root = new MappingContextImpl(null);
65       MappingContextImpl child = new MappingContextImpl(null);
66       root.addChild("a", child);
67
68       assertEquals(new MappingResult(null, null, null), mapper.map(root, null));
69       assertEquals(new MappingResult(null, null, null), mapper.map(root, ""));
70       assertEquals(new MappingResult(null, null, "/"), mapper.map(root, "/"));
71       assertEquals(new MappingResult(null, null, "/"), mapper.map(root, "//"));
72
73       assertEquals(new MappingResult(child, "/a", null), mapper.map(root, "/a"));
74       assertEquals(new MappingResult(child, "/a", "/"), mapper.map(root, "/a/"));
75       assertEquals(new MappingResult(child, "/a", "/b"), mapper.map(root, "/a/b"));
76       assertEquals(new MappingResult(child, "/a", "/b/"), mapper.map(root, "/a/b/"));
77       assertEquals(new MappingResult(child, "/a", "/b/c"), mapper.map(root, "/a/b/c"));
78
79       assertEquals(new MappingResult(null, null, "/b"), mapper.map(root, "/b"));
80       assertEquals(new MappingResult(null, null, "/b/"), mapper.map(root, "/b/"));
81       assertEquals(new MappingResult(null, null, "/b/c"), mapper.map(root, "/b/c"));
82       assertEquals(new MappingResult(null, null, "/b/c/"), mapper.map(root, "/b/c/"));
83       assertEquals(new MappingResult(null, null, "/b/c/d"), mapper.map(root, "/b/c/d"));
84    }
85
86    public void testOneChildHavingOneChild()
87    {
88       MappingContextImpl root = new MappingContextImpl(null);
89       MappingContextImpl child = new MappingContextImpl(null);
90       MappingContextImpl childOfChild = new MappingContextImpl(null);
91       root.addChild("a", child);
92       child.addChild("b", childOfChild);
93
94       assertEquals(new MappingResult(null, null, null), mapper.map(root, null));
95       assertEquals(new MappingResult(null, null, null), mapper.map(root, ""));
96       assertEquals(new MappingResult(null, null, "/"), mapper.map(root, "/"));
97       assertEquals(new MappingResult(null, null, "/"), mapper.map(root, "//"));
98
99       assertEquals(new MappingResult(child, "/a", null), mapper.map(root, "/a"));
100       assertEquals(new MappingResult(child, "/a", "/"), mapper.map(root, "/a/"));
101       assertEquals(new MappingResult(childOfChild, "/a/b", null), mapper.map(root, "/a/b"));
102       assertEquals(new MappingResult(child, "/a", "/b/"), mapper.map(root, "/a/b/"));
103       assertEquals(new MappingResult(child, "/a", "/b/c"), mapper.map(root, "/a/b/c"));
104
105       assertEquals(new MappingResult(null, null, "/b"), mapper.map(root, "/b"));
106       assertEquals(new MappingResult(null, null, "/b/"), mapper.map(root, "/b/"));
107       assertEquals(new MappingResult(null, null, "/b/c"), mapper.map(root, "/b/c"));
108       assertEquals(new MappingResult(null, null, "/b/c/"), mapper.map(root, "/b/c/"));
109       assertEquals(new MappingResult(null, null, "/b/c/d"), mapper.map(root, "/b/c/d"));
110    }
111
112    private static class Context
113    {
114       private final Map JavaDoc children;
115       public Context(Object JavaDoc dflt)
116       {
117          children = new HashMap JavaDoc();
118       }
119       public void addChild(String JavaDoc name, Object JavaDoc child)
120       {
121          children.put(name, child);
122       }
123    }
124    private static class MappingContextImpl extends Context implements MappingContext
125    {
126       public MappingContextImpl(Object JavaDoc dflt)
127       {
128          super(dflt);
129       }
130       public Object JavaDoc getRoot()
131       {
132          return this;
133       }
134       public Object JavaDoc getChild(Object JavaDoc parent, String JavaDoc name)
135       {
136          return ((Context)parent).children.get(name);
137       }
138    }
139 }
140
Popular Tags