1 /*
2 * Copyright (C) 2004 TiongHiang Lee
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Email: thlee@onemindsoft.org
19 */
20
21 package org.onemind.commons.java.datastructure;
22
23 import org.onemind.commons.java.datastructure.InheritableValueMap;
24 import junit.framework.TestCase;
25 /***
26 * Test inherited value map
27 * @author TiongHiang Lee (thlee@onemindsoft.org)
28 * @version $Id: InheritableValueMapTest.java,v 1.2 2004/08/26 12:33:08 thlee Exp $ $Name: $
29 */
30 public class InheritableValueMapTest extends TestCase
31 {
32
33 public void testInheritedValueMap()
34 {
35 InheritableValueMap map = new InheritableValueMap();
36 Object numberValue = new Object();
37 // add in number mapping
38 map.put(Number.class, numberValue);
39 // test result
40 assertEquals(map.resolve(Number.class), numberValue);
41 assertEquals(map.resolve(Integer.class), numberValue);
42 // add in integer mapping
43 Object intValue = new Object();
44 map.put(Integer.class, intValue);
45 //test result
46 assertEquals(map.resolve(Number.class), numberValue);
47 assertEquals(map.resolve(Integer.class), intValue);
48 //test wrong argument
49 try
50 {
51 map.resolve(Object.class);
52 throw new Exception("Should not pass this");
53 } catch (Exception e)
54 {
55 //pass
56 }
57 }
58 }