KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > javax > management > openmbean > OpenMBeanInfoSupportTest


1 /**
2  * Copyright (C) The MX4J Contributors.
3  * All rights reserved.
4  *
5  * This software is distributed under the terms of the MX4J License version 1.0.
6  * See the terms of the MX4J License in the documentation provided with this software.
7  */

8
9 package test.javax.management.openmbean;
10
11 import java.util.Arrays JavaDoc;
12 import javax.management.MBeanNotificationInfo JavaDoc;
13 import javax.management.MBeanOperationInfo JavaDoc;
14 import javax.management.openmbean.ArrayType JavaDoc;
15 import javax.management.openmbean.OpenMBeanAttributeInfo JavaDoc;
16 import javax.management.openmbean.OpenMBeanAttributeInfoSupport JavaDoc;
17 import javax.management.openmbean.OpenMBeanConstructorInfo JavaDoc;
18 import javax.management.openmbean.OpenMBeanConstructorInfoSupport JavaDoc;
19 import javax.management.openmbean.OpenMBeanInfoSupport JavaDoc;
20 import javax.management.openmbean.OpenMBeanOperationInfo JavaDoc;
21 import javax.management.openmbean.OpenMBeanOperationInfoSupport JavaDoc;
22 import javax.management.openmbean.OpenMBeanParameterInfo JavaDoc;
23 import javax.management.openmbean.OpenMBeanParameterInfoSupport JavaDoc;
24 import javax.management.openmbean.SimpleType JavaDoc;
25
26 import junit.framework.TestCase;
27 import junit.textui.TestRunner;
28
29 /**
30  */

31 public class OpenMBeanInfoSupportTest extends TestCase
32 {
33    private OpenMBeanAttributeInfo JavaDoc[] attrs;
34    private OpenMBeanConstructorInfo JavaDoc[] ctors;
35    private OpenMBeanOperationInfo JavaDoc[] ops;
36    private MBeanNotificationInfo JavaDoc[] notifs;
37
38    public static void main(String JavaDoc[] args)
39    {
40       TestRunner.run(OpenMBeanInfoSupportTest.class);
41    }
42
43    public void testCtor() throws Exception JavaDoc
44    {
45       OpenMBeanInfoSupport JavaDoc info =
46               new OpenMBeanInfoSupport JavaDoc("CurrencyMBean",
47                                        "Does stuff with currencies",
48                                        attrs,
49                                        ctors,
50                                        ops,
51                                        notifs);
52       assertTrue("Null info constructed", info != null);
53       assertTrue("Unexpected name",
54                  info.getClassName().compareTo("CurrencyMBean") == 0);
55       assertTrue("Unexpected description",
56                  info.getDescription().compareTo("Does stuff with currencies") == 0);
57       assertTrue("Unexpected attributes",
58                  Arrays.equals(info.getAttributes(), attrs));
59       assertTrue("Unexpected constructors",
60                  Arrays.equals(info.getConstructors(), ctors));
61       assertTrue("Unexpected operations",
62                  Arrays.equals(info.getOperations(), ops));
63       assertTrue("Unexpected notifications",
64                  Arrays.equals(info.getNotifications(), notifs));
65    }
66
67    public void testEquals() throws Exception JavaDoc
68    {
69       OpenMBeanInfoSupport JavaDoc infoone =
70               new OpenMBeanInfoSupport JavaDoc("CurrencyMBean",
71                                        "Does stuff with currencies",
72                                        attrs,
73                                        ctors,
74                                        ops,
75                                        notifs);
76       assertTrue("Null info constructed", infoone != null);
77
78       OpenMBeanInfoSupport JavaDoc infotwo =
79               new OpenMBeanInfoSupport JavaDoc("CurrencyMBean",
80                                        "manages currencies",
81                                        attrs,
82                                        ctors,
83                                        ops,
84                                        notifs);
85       assertTrue("Null info constructed", infotwo != null);
86
87       assertTrue("Expecting equality (only description is different)",
88                  infotwo.equals(infoone));
89
90       OpenMBeanAttributeInfo JavaDoc[] testattrs =
91               new OpenMBeanAttributeInfoSupport JavaDoc[]{
92                  new OpenMBeanAttributeInfoSupport JavaDoc("Uptime",
93                                                    "how long it's been running",
94                                                    SimpleType.FLOAT,
95                                                    true,
96                                                    false,
97                                                    false),
98                  new OpenMBeanAttributeInfoSupport JavaDoc("Exchanges",
99                                                    "number of exchanges completed",
100                                                    SimpleType.FLOAT,
101                                                    true,
102                                                    false,
103                                                    false)};
104
105       OpenMBeanConstructorInfo JavaDoc[] testctors =
106               new OpenMBeanConstructorInfoSupport JavaDoc[]{
107                  new OpenMBeanConstructorInfoSupport JavaDoc("CurrencyMBean",
108                                                      "create a currency mbean",
109                                                      new OpenMBeanParameterInfoSupport JavaDoc[]{
110                                                         new OpenMBeanParameterInfoSupport JavaDoc("currencies",
111                                                                                           "currencies that may be exchanged",
112                                                                                           new ArrayType JavaDoc(1, SimpleType.STRING))})
113               };
114
115       OpenMBeanParameterInfo JavaDoc[] ratesig =
116               new OpenMBeanParameterInfo JavaDoc[]{
117                  new OpenMBeanParameterInfoSupport JavaDoc("to",
118                                                    "currency to convert to",
119                                                    SimpleType.STRING),
120                  new OpenMBeanParameterInfoSupport JavaDoc("from",
121                                                    "currency to convert from",
122                                                    SimpleType.STRING)};
123
124       OpenMBeanParameterInfo JavaDoc[] exsig =
125               new OpenMBeanParameterInfo JavaDoc[]{
126                  new OpenMBeanParameterInfoSupport JavaDoc("from",
127                                                    "currency to convert from",
128                                                    SimpleType.STRING),
129                  new OpenMBeanParameterInfoSupport JavaDoc("amount",
130                                                    "amount of currency to convert",
131                                                    SimpleType.FLOAT),
132                  new OpenMBeanParameterInfoSupport JavaDoc("to",
133                                                    "currency to convert to",
134                                                    SimpleType.STRING)};
135
136       OpenMBeanOperationInfo JavaDoc[] testops =
137               new OpenMBeanOperationInfoSupport JavaDoc[]{
138                  new OpenMBeanOperationInfoSupport JavaDoc("exchangeRate",
139                                                    "compute the exchange rate for two currencies",
140                                                    ratesig,
141                                                    SimpleType.FLOAT,
142                                                    MBeanOperationInfo.INFO),
143                  new OpenMBeanOperationInfoSupport JavaDoc("exchange",
144                                                    "compute the exchange rate for two currencies",
145                                                    exsig,
146                                                    SimpleType.FLOAT,
147                                                    MBeanOperationInfo.INFO)};
148
149       OpenMBeanInfoSupport JavaDoc infothree =
150               new OpenMBeanInfoSupport JavaDoc("CurrencyMBean",
151                                        "Does stuff with currencies",
152                                        testattrs,
153                                        testctors,
154                                        testops,
155                                        notifs);
156       assertTrue("Null info constructed", infoone != null);
157
158       assertFalse("Expecting inequality (the parameter orders are different)",
159                   infothree.equals(infoone));
160    }
161
162    public void testHashCode() throws Exception JavaDoc
163    {
164       OpenMBeanInfoSupport JavaDoc infoone =
165               new OpenMBeanInfoSupport JavaDoc("CurrencyMBean",
166                                        "Does stuff with currencies",
167                                        attrs,
168                                        ctors,
169                                        ops,
170                                        notifs);
171       assertTrue("Null info constructed", infoone != null);
172
173       OpenMBeanInfoSupport JavaDoc infotwo =
174               new OpenMBeanInfoSupport JavaDoc("CurrencyMBean",
175                                        "manages currencies",
176                                        attrs,
177                                        ctors,
178                                        ops,
179                                        notifs);
180       assertTrue("Null info constructed", infotwo != null);
181
182       assertTrue("Expecting identical hash codes (only description is different)",
183                  infotwo.hashCode() == infoone.hashCode());
184
185       OpenMBeanAttributeInfo JavaDoc[] testattrs =
186               new OpenMBeanAttributeInfoSupport JavaDoc[]{
187                  new OpenMBeanAttributeInfoSupport JavaDoc("Uptime",
188                                                    "how long it's been running",
189                                                    SimpleType.FLOAT,
190                                                    true,
191                                                    false,
192                                                    false),
193                  new OpenMBeanAttributeInfoSupport JavaDoc("Exchanges",
194                                                    "number of exchanges completed",
195                                                    SimpleType.FLOAT,
196                                                    true,
197                                                    false,
198                                                    false)};
199
200       OpenMBeanConstructorInfo JavaDoc[] testctors =
201               new OpenMBeanConstructorInfoSupport JavaDoc[]{
202                  new OpenMBeanConstructorInfoSupport JavaDoc("CurrencyMBean",
203                                                      "create a currency mbean",
204                                                      new OpenMBeanParameterInfoSupport JavaDoc[]{
205                                                         new OpenMBeanParameterInfoSupport JavaDoc("currencies",
206                                                                                           "currencies that may be exchanged",
207                                                                                           new ArrayType JavaDoc(1, SimpleType.STRING))})
208               };
209
210       OpenMBeanParameterInfo JavaDoc[] ratesig =
211               new OpenMBeanParameterInfo JavaDoc[]{
212                  new OpenMBeanParameterInfoSupport JavaDoc("to",
213                                                    "currency to convert to",
214                                                    SimpleType.STRING),
215                  new OpenMBeanParameterInfoSupport JavaDoc("from",
216                                                    "currency to convert from",
217                                                    SimpleType.STRING)};
218
219       OpenMBeanParameterInfo JavaDoc[] exsig =
220               new OpenMBeanParameterInfo JavaDoc[]{
221                  new OpenMBeanParameterInfoSupport JavaDoc("from",
222                                                    "currency to convert from",
223                                                    SimpleType.STRING),
224                  new OpenMBeanParameterInfoSupport JavaDoc("amount",
225                                                    "amount of currency to convert",
226                                                    SimpleType.FLOAT),
227                  new OpenMBeanParameterInfoSupport JavaDoc("to",
228                                                    "currency to convert to",
229                                                    SimpleType.STRING)};
230
231       OpenMBeanOperationInfo JavaDoc[] testops =
232               new OpenMBeanOperationInfoSupport JavaDoc[]{
233                  new OpenMBeanOperationInfoSupport JavaDoc("exchangeRate",
234                                                    "compute the exchange rate for two currencies",
235                                                    ratesig,
236                                                    SimpleType.FLOAT,
237                                                    MBeanOperationInfo.INFO),
238                  new OpenMBeanOperationInfoSupport JavaDoc("exchange",
239                                                    "compute the exchange rate for two currencies",
240                                                    exsig,
241                                                    SimpleType.FLOAT,
242                                                    MBeanOperationInfo.INFO)};
243
244       OpenMBeanInfoSupport JavaDoc infothree =
245               new OpenMBeanInfoSupport JavaDoc("CurrencyMBean",
246                                        "Does stuff with currencies",
247                                        testattrs,
248                                        testctors,
249                                        testops,
250                                        notifs);
251       assertTrue("Null info constructed", infoone != null);
252
253       assertFalse("Expecting different hash codes (the parameter orders are different)",
254                   infothree.hashCode() == infoone.hashCode());
255    }
256
257    protected void setUp() throws Exception JavaDoc
258    {
259       attrs =
260       new OpenMBeanAttributeInfoSupport JavaDoc[]{
261          new OpenMBeanAttributeInfoSupport JavaDoc("Exchanges",
262                                            "number of exchanges completed",
263                                            SimpleType.FLOAT,
264                                            true,
265                                            false,
266                                            false),
267          new OpenMBeanAttributeInfoSupport JavaDoc("Uptime",
268                                            "how long it's been running",
269                                            SimpleType.FLOAT,
270                                            true,
271                                            false,
272                                            false)};
273
274       ctors =
275       new OpenMBeanConstructorInfoSupport JavaDoc[]{
276          new OpenMBeanConstructorInfoSupport JavaDoc("CurrencyMBean",
277                                              "create a currency mbean",
278                                              new OpenMBeanParameterInfoSupport JavaDoc[]{
279                                                 new OpenMBeanParameterInfoSupport JavaDoc("currencies",
280                                                                                   "currencies that may be exchanged",
281                                                                                   new ArrayType JavaDoc(1, SimpleType.STRING))})
282       };
283
284       OpenMBeanParameterInfo JavaDoc[] ratesig =
285               new OpenMBeanParameterInfo JavaDoc[]{
286                  new OpenMBeanParameterInfoSupport JavaDoc("from",
287                                                    "currency to convert from",
288                                                    SimpleType.STRING),
289                  new OpenMBeanParameterInfoSupport JavaDoc("to",
290                                                    "currency to convert to",
291                                                    SimpleType.STRING)};
292
293       OpenMBeanParameterInfo JavaDoc[] exsig =
294               new OpenMBeanParameterInfo JavaDoc[]{
295                  new OpenMBeanParameterInfoSupport JavaDoc("from",
296                                                    "currency to convert from",
297                                                    SimpleType.STRING),
298                  new OpenMBeanParameterInfoSupport JavaDoc("to",
299                                                    "currency to convert to",
300                                                    SimpleType.STRING),
301                  new OpenMBeanParameterInfoSupport JavaDoc("amount",
302                                                    "amount of currency to convert",
303                                                    SimpleType.FLOAT)};
304
305       ops =
306       new OpenMBeanOperationInfoSupport JavaDoc[]{
307          new OpenMBeanOperationInfoSupport JavaDoc("exchangeRate",
308                                            "compute the exchange rate for two currencies",
309                                            ratesig,
310                                            SimpleType.FLOAT,
311                                            MBeanOperationInfo.INFO),
312          new OpenMBeanOperationInfoSupport JavaDoc("exchange",
313                                            "compute the exchange rate for two currencies",
314                                            exsig,
315                                            SimpleType.FLOAT,
316                                            MBeanOperationInfo.INFO)};
317
318       notifs = new MBeanNotificationInfo JavaDoc[0];
319    }
320
321    protected void tearDown()
322    {
323    }
324 }
325
Popular Tags