KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > api > debugger > LookupTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.api.debugger;
21
22 import org.netbeans.api.debugger.test.TestLookupServiceFirst;
23 import org.netbeans.api.debugger.test.TestLookupServiceInterface;
24 import org.netbeans.api.debugger.test.TestLookupServiceSecond;
25
26 import java.net.Socket JavaDoc;
27 import java.util.*;
28 import java.io.Serializable JavaDoc;
29
30 /**
31  * Tests lookup functionality.
32  *
33  * @author Maros Sandor
34  */

35 public class LookupTest extends DebuggerApiTestBase {
36
37     public LookupTest(String JavaDoc s) {
38         super(s);
39     }
40
41     public static class LookupContext {
42     }
43
44     public void testCompoundLookup() throws Exception JavaDoc {
45
46         Object JavaDoc stringInstance = "stringInstace";
47         HashMap hashMapInstance = new HashMap();
48         Socket JavaDoc socketInstance = new Socket JavaDoc();
49         TreeMap treeMapInstance = new TreeMap();
50         StringBuffer JavaDoc sbInstance = new StringBuffer JavaDoc();
51         Object JavaDoc [] instances = new Object JavaDoc [] {
52             stringInstance,
53             hashMapInstance,
54             socketInstance,
55             treeMapInstance,
56             sbInstance
57         };
58
59         Object JavaDoc stringInstance2 = "stringInstace";
60         HashMap hashMapInstance2 = new HashMap();
61         Socket JavaDoc socketInstance2 = new Socket JavaDoc();
62         TreeMap treeMapInstance2 = new TreeMap();
63         StringBuffer JavaDoc sbInstance2 = new StringBuffer JavaDoc();
64         Object JavaDoc [] instances2 = new Object JavaDoc [] {
65             stringInstance2,
66             hashMapInstance2,
67             socketInstance2,
68             treeMapInstance2,
69             sbInstance2
70         };
71
72         Lookup l1 = new Lookup.Instance(instances);
73         Lookup l2 = new Lookup.Instance(instances2);
74
75         Lookup.Compound l = new Lookup.Compound(l1, l2);
76
77         List services = l.lookup(null, String JavaDoc.class);
78         assertEquals("Wrong number of objects in lookup", 2, services.size());
79         assertContains("Wrong looked up object", stringInstance, services);
80         assertContains("Wrong looked up object", stringInstance2, services);
81
82         services = l.lookup(null, Class JavaDoc.class);
83         assertEquals("Wrong number of objects in lookup", 0, services.size());
84
85         services = l.lookup(null, Serializable JavaDoc.class);
86         assertEquals("Wrong number of objects in lookup", 8, services.size());
87         assertContains("Wrong looked up object", stringInstance, services);
88         assertContains("Wrong looked up object", stringInstance2, services);
89         assertContains("Wrong looked up object", sbInstance, services);
90         assertContains("Wrong looked up object", sbInstance2, services);
91         assertContains("Wrong looked up object", hashMapInstance, services);
92         assertContains("Wrong looked up object", hashMapInstance2, services);
93         assertContains("Wrong looked up object", treeMapInstance, services);
94         assertContains("Wrong looked up object", treeMapInstance2, services);
95     }
96
97     public void testMetainfLookup() throws Exception JavaDoc {
98
99         Lookup.MetaInf l = new Lookup.MetaInf("unittest");
100         List list = l.lookup(null, TestLookupServiceFirst.class);
101         assertEquals("Wrong looked up object", 1, list.size());
102         assertInstanceOf("Wrong looked up object", list.get(0), TestLookupServiceFirst.class);
103
104         Object JavaDoc o = l.lookupFirst(null, TestLookupServiceFirst.class);
105         assertInstanceOf("Wrong looked up object", o, TestLookupServiceFirst.class);
106
107         o = l.lookupFirst(null, TestLookupServiceInterface.class);
108         assertInstanceOf("Wrong looked up object", o, TestLookupServiceSecond.class);
109
110         o = l.lookupFirst(null, TestLookupServiceSecond.class);
111         assertNull("Wrong looked up object", o);
112     }
113
114     public void testEmptyMetainfLookup() throws Exception JavaDoc {
115
116         Lookup.MetaInf l = new Lookup.MetaInf("baddir");
117         List list = l.lookup(null, TestLookupServiceFirst.class);
118         assertEquals("Wrong looked up object", 0, list.size());
119
120         Object JavaDoc o = l.lookupFirst(null, TestLookupServiceFirst.class);
121         assertNull("Wrong looked up object", o);
122     }
123
124     public void testEmptyInstanceLookup() throws Exception JavaDoc {
125
126         Object JavaDoc [] instances = new Object JavaDoc [0];
127         Lookup l = new Lookup.Instance(instances);
128
129         List services = l.lookup(null, Object JavaDoc.class);
130         assertEquals("Wrong number of objects in lookup", 0, services.size());
131
132         Object JavaDoc o = l.lookupFirst(null, Class JavaDoc.class);
133         assertNull("Wrong looked up object", o);
134
135         o = l.lookupFirst(null, Object JavaDoc.class);
136         assertNull("Wrong looked up object", o);
137     }
138
139     public void testInstanceLookup() throws Exception JavaDoc {
140
141         Object JavaDoc stringInstance = "stringInstace";
142         HashMap hashMapInstance = new HashMap();
143         Socket JavaDoc socketInstance = new Socket JavaDoc();
144         TreeMap treeMapInstance = new TreeMap();
145         StringBuffer JavaDoc sbInstance = new StringBuffer JavaDoc();
146
147         Object JavaDoc [] instances = new Object JavaDoc [] {
148             stringInstance,
149             hashMapInstance,
150             socketInstance,
151             treeMapInstance,
152             sbInstance
153         };
154         Lookup l = new Lookup.Instance(instances);
155
156         List services = l.lookup(null, Object JavaDoc.class);
157         assertEquals("Wrong number of objects in lookup", 5, services.size());
158         assertContains("Object not present in lookup", stringInstance, services);
159         assertContains("Object not present in lookup", hashMapInstance, services);
160         assertContains("Object not present in lookup", socketInstance, services);
161         assertContains("Object not present in lookup", treeMapInstance, services);
162         assertContains("Object not present in lookup", sbInstance, services);
163
164         services = l.lookup(null, CharSequence JavaDoc.class);
165         assertEquals("Wrong number of objects in lookup", 2, services.size());
166         assertContains("Object not present in lookup", stringInstance, services);
167         assertContains("Object not present in lookup", sbInstance, services);
168
169         services = l.lookup(null, Serializable JavaDoc.class);
170         assertEquals("Wrong number of objects in lookup", 4, services.size());
171         assertContains("Object not present in lookup", stringInstance, services);
172         assertContains("Object not present in lookup", hashMapInstance, services);
173         assertContains("Object not present in lookup", treeMapInstance, services);
174         assertContains("Object not present in lookup", sbInstance, services);
175
176         services = l.lookup(null, Class JavaDoc.class);
177         assertEquals("Wrong number of objects in lookup", 0, services.size());
178
179         Object JavaDoc o = l.lookupFirst(null, Class JavaDoc.class);
180         assertNull("Wrong looked up object", o);
181
182         o = l.lookupFirst(null, Socket JavaDoc.class);
183         assertSame("Wrong looked up object", socketInstance, o);
184     }
185
186     private void assertContains(String JavaDoc msg, Object JavaDoc obj, Collection collection) {
187         for (Iterator i = collection.iterator(); i.hasNext();) {
188             if (i.next() == obj) return;
189         }
190         throw new AssertionError JavaDoc(msg + ": " + obj);
191     }
192 }
193
Popular Tags