01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package java.beans;
19:
20: import java.beans.Encoder;
21: import java.beans.Expression;
22: import java.beans.ClassPersistenceDelegate;
23:
24: import junit.framework.TestCase;
25:
26: /**
27: * Test the internal class java.beans.ClassPersistenceDelegate.
28: */
29: public class ClassPersistenceDelegateTest extends TestCase {
30:
31: private ClassPersistenceDelegate pd = null;
32:
33: @Override
34: protected void setUp() throws Exception {
35: super .setUp();
36: pd = new ClassPersistenceDelegate();
37: }
38:
39: public void testMutates() {
40: assertFalse(pd.mutatesTo(Class.class, null));
41: assertFalse(pd.mutatesTo(null, null));
42: assertFalse(pd.mutatesTo(Class.class, String.class));
43: assertTrue(pd.mutatesTo(String.class, String.class));
44: }
45:
46: public void testInitialize() {
47: pd.initialize(null, null, null, null);
48: }
49:
50: public void testInstantiate_Normal() throws Exception {
51: Expression exp = pd.instantiate(Integer.class, new Encoder());
52:
53: assertSame(Integer.class, exp.getValue());
54: assertTrue(exp.getTarget() instanceof Class);
55: assertEquals("forName", exp.getMethodName());
56: assertEquals(1, exp.getArguments().length);
57: assertEquals("java.lang.Integer", exp.getArguments()[0]);
58: }
59:
60: public void testInstantiate_Primitive() throws Exception {
61: Expression exp = pd.instantiate(Integer.TYPE, new Encoder());
62:
63: assertSame(Integer.TYPE, exp.getValue());
64: assertTrue(exp.getTarget() instanceof java.lang.reflect.Field);
65: assertEquals("get", exp.getMethodName());
66: assertEquals(1, exp.getArguments().length);
67: assertNull(exp.getArguments()[0]);
68: }
69:
70: public void testInstantiate_Class() throws Exception {
71: Expression exp = pd.instantiate(Class.class, new Encoder());
72:
73: assertSame(Class.class, exp.getValue());
74: assertTrue(exp.getTarget() instanceof Class);
75: assertEquals("forName", exp.getMethodName());
76: assertEquals(1, exp.getArguments().length);
77: assertEquals("java.lang.Class", exp.getArguments()[0]);
78: }
79: }
|