1 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 ; 20 import java.util.HashMap ; 21 22 26 public class MapperTestCase extends TestCase 27 { 28 29 public MapperTestCase(String s) 30 { 31 super(s); 32 } 33 34 private Mapper mapper; 35 36 protected void setUp() throws Exception 37 { 38 mapper = new SimpleMapper(); 39 } 40 41 protected void tearDown() throws Exception 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 children; 115 public Context(Object dflt) 116 { 117 children = new HashMap (); 118 } 119 public void addChild(String name, Object child) 120 { 121 children.put(name, child); 122 } 123 } 124 private static class MappingContextImpl extends Context implements MappingContext 125 { 126 public MappingContextImpl(Object dflt) 127 { 128 super(dflt); 129 } 130 public Object getRoot() 131 { 132 return this; 133 } 134 public Object getChild(Object parent, String name) 135 { 136 return ((Context)parent).children.get(name); 137 } 138 } 139 } 140 | Popular Tags |