View Javadoc

1   package net.sourceforge.pmd.util;
2   
3   import static org.junit.Assert.fail;
4   
5   import java.util.HashMap;
6   import java.util.List;
7   import java.util.Map;
8   
9   import junit.framework.Assert;
10  
11  import org.junit.Test;
12  
13  /**
14   * Evaluates all major functionality of the TypeMap class.
15   * 
16   * @author Brian Remedios
17   */
18  public class TypeMapTest {
19  
20  	@Test
21  	public void testAddClassOfQ() {
22  		
23  		TypeMap map = new TypeMap(2);
24  		map.add(List.class);
25  		
26  		try {
27  			 map.add(java.awt.List.class);
28  		} catch (IllegalArgumentException ex) {
29  			return;	// caught ok
30  		}
31  		
32  		fail("Uncaught error inserting type with same root names");
33  	}
34  
35  	@Test
36  	public void testContainsClassOfQ() {
37  		
38  		TypeMap map = new TypeMap(2);
39  		map.add(String.class);
40  		map.add(List.class);
41  		
42  		Assert.assertTrue(map.contains(String.class));
43  		Assert.assertTrue(map.contains(List.class));
44  		Assert.assertFalse(map.contains(Map.class));
45  	}
46  
47  	@Test
48  	public void testContainsString() {
49  		
50  		TypeMap map = new TypeMap(2);
51  		map.add(String.class);
52  		map.add(List.class);
53  		
54  		Assert.assertTrue(map.contains("String"));
55  		Assert.assertTrue(map.contains("java.lang.String"));
56  	}
57  
58  	@Test
59  	public void testTypeFor() {
60  		
61  		TypeMap map = new TypeMap(2);
62  		map.add(String.class);
63  		map.add(List.class);
64  		
65  		Assert.assertTrue(map.typeFor("String") == String.class);
66  		Assert.assertTrue(map.typeFor("java.lang.String") == String.class);
67  		Assert.assertTrue(map.typeFor("List") == List.class);
68  		Assert.assertTrue(map.typeFor("java.util.List") == List.class);
69  	}
70  
71  	@Test
72  	public void testSize() {
73  		
74  		TypeMap map = new TypeMap(4);
75  		map.add(String.class);
76  		map.add(HashMap.class);
77  		map.add(Integer.class);
78  		
79  		Assert.assertTrue(map.size() == 6);
80  	}
81  
82      public static junit.framework.Test suite() {
83          return new junit.framework.JUnit4TestAdapter(TypeMapTest.class);
84      }
85  
86  }