1 package org.seasar.cubby.util;
2
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.List;
6
7 import junit.framework.TestCase;
8
9 import org.seasar.framework.util.ClassUtil;
10
11 public class CubbyUtilsTest extends TestCase {
12
13 public void testGetObjectSize() {
14
15 assertEquals(0, CubbyUtils.getObjectSize(null));
16 assertEquals(1, CubbyUtils.getObjectSize(""));
17 assertEquals(0, CubbyUtils.getObjectSize(new Object[] {}));
18 assertEquals(3, CubbyUtils.getObjectSize(new Object[] {1,2,3}));
19 assertEquals(3, CubbyUtils.getObjectSize(new Object[] {null,2,3}));
20
21
22 assertEquals(0, CubbyUtils.getObjectSize(toCollection(new Object[] {})));
23 assertEquals(3, CubbyUtils.getObjectSize(toCollection(new Object[] {1,2,3})));
24 assertEquals(3, CubbyUtils.getObjectSize(toCollection(new Object[] {null,2,3})));
25
26 }
27
28 @SuppressWarnings("unchecked")
29 private Collection toCollection(Object[] objects) {
30 List<Object> list = new ArrayList<Object>();
31 for (Object o : objects) {
32 list.add(o);
33 }
34 return list;
35 }
36
37 public void testGetActionUrl() {
38 assertEquals("/hoge/m1", CubbyUtils.getActionUrl(Hoge1Action.class, ClassUtil.getMethod(Hoge1Action.class, "m1", null)));
39 assertEquals("/hoge/m/m2", CubbyUtils.getActionUrl(Hoge1Action.class, ClassUtil.getMethod(Hoge1Action.class, "m2", null)));
40 assertEquals("/hoge/", CubbyUtils.getActionUrl(Hoge1Action.class, ClassUtil.getMethod(Hoge1Action.class, "index", null)));
41 assertEquals("/hoge/index2", CubbyUtils.getActionUrl(Hoge1Action.class, ClassUtil.getMethod(Hoge1Action.class, "index2", null)));
42 assertEquals("/hoge2/m1", CubbyUtils.getActionUrl(Hoge2Action.class, ClassUtil.getMethod(Hoge2Action.class, "m1", null)));
43 assertEquals("/hoge/m2", CubbyUtils.getActionUrl(Hoge2Action.class, ClassUtil.getMethod(Hoge2Action.class, "m2", null)));
44 }
45
46 public void testGetActionClassName() {
47 assertEquals("hoge", CubbyUtils.getActionClassName(Hoge1Action.class));
48 assertEquals("hoge2", CubbyUtils.getActionClassName(Hoge2Action.class));
49 }
50
51 }