KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > mx > mxbean > test > CompositeDataMapUnitTestCase


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2006, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.test.mx.mxbean.test;
23
24 import java.lang.reflect.Type JavaDoc;
25 import java.util.LinkedHashMap JavaDoc;
26 import java.util.Map JavaDoc;
27
28 import javax.management.openmbean.CompositeDataSupport JavaDoc;
29 import javax.management.openmbean.CompositeType JavaDoc;
30 import javax.management.openmbean.TabularDataSupport JavaDoc;
31 import javax.management.openmbean.TabularType JavaDoc;
32
33 import junit.framework.Test;
34 import junit.framework.TestSuite;
35
36 import org.jboss.mx.mxbean.MXBeanUtils;
37 import org.jboss.test.mx.mxbean.support.TestParameterizedType;
38
39 /**
40  * CompositeDataMapUnitTestCase.
41  *
42  * @author <a HREF="adrian@jboss.com">Adrian Brock</a>
43  * @version $Revision: 1.1 $
44  */

45 public class CompositeDataMapUnitTestCase extends CompositeDataTest
46 {
47    private static final TestParameterizedType MAP_OF_STRINGS_TO_INTEGERS = new TestParameterizedType(Map JavaDoc.class, new Type JavaDoc[] { String JavaDoc.class, Integer JavaDoc.class });
48    private static final TabularType JavaDoc TABLE_STRING_TO_INTEGER = MXBeanUtils.createMapType(String JavaDoc.class, Integer JavaDoc.class);
49    
50    public static Test suite()
51    {
52       return new TestSuite(CompositeDataMapUnitTestCase.class);
53    }
54    
55    public CompositeDataMapUnitTestCase(String JavaDoc name)
56    {
57       super(name);
58    }
59    
60    public void testMap() throws Exception JavaDoc
61    {
62       Map JavaDoc<String JavaDoc, Integer JavaDoc> c = new LinkedHashMap JavaDoc<String JavaDoc, Integer JavaDoc>();
63       c.put("one", 1);
64       c.put("two", 2);
65       c.put("three", 3);
66       TabularDataSupport JavaDoc openData = new TabularDataSupport JavaDoc(TABLE_STRING_TO_INTEGER);
67       CompositeType JavaDoc entryType = TABLE_STRING_TO_INTEGER.getRowType();
68       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "one", 1 }));
69       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "two", 2 }));
70       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "three", 3 }));
71       constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
72    }
73    
74    public void testMapNull() throws Exception JavaDoc
75    {
76       constructReconstructTest(null, MAP_OF_STRINGS_TO_INTEGERS);
77    }
78    
79    public void testMapNullKey() throws Exception JavaDoc
80    {
81       Map JavaDoc<String JavaDoc, Integer JavaDoc> c = new LinkedHashMap JavaDoc<String JavaDoc, Integer JavaDoc>();
82       c.put("one", 1);
83       c.put(null, 2);
84       c.put("three", 3);
85       TabularDataSupport JavaDoc openData = new TabularDataSupport JavaDoc(TABLE_STRING_TO_INTEGER);
86       CompositeType JavaDoc entryType = TABLE_STRING_TO_INTEGER.getRowType();
87       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "one", 1 }));
88       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { null, 2 }));
89       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "three", 3 }));
90       constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
91    }
92    
93    public void testMapNullValue() throws Exception JavaDoc
94    {
95       Map JavaDoc<String JavaDoc, Integer JavaDoc> c = new LinkedHashMap JavaDoc<String JavaDoc, Integer JavaDoc>();
96       c.put("one", 1);
97       c.put("two", null);
98       c.put("three", 3);
99       TabularDataSupport JavaDoc openData = new TabularDataSupport JavaDoc(TABLE_STRING_TO_INTEGER);
100       CompositeType JavaDoc entryType = TABLE_STRING_TO_INTEGER.getRowType();
101       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "one", 1 }));
102       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "two", null }));
103       openData.put(new CompositeDataSupport JavaDoc(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object JavaDoc[] { "three", 3 }));
104       constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
105    }
106 }
107
Popular Tags