/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.util;
import static org.junit.Assert.fail;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
/**
* Evaluates all major functionality of the TypeMap class.
*
* @author Brian Remedios
*/
public class TypeMapTest {
@Test
public void testAddClassOfQ() {
TypeMap map = new TypeMap(2);
map.add(List.class);
try {
map.add(java.awt.List.class);
} catch (IllegalArgumentException ex) {
return; // caught ok
}
fail("Uncaught error inserting type with same root names");
}
@Test
public void testContainsClassOfQ() {
TypeMap map = new TypeMap(2);
map.add(String.class);
map.add(List.class);
Assert.assertTrue(map.contains(String.class));
Assert.assertTrue(map.contains(List.class));
Assert.assertFalse(map.contains(Map.class));
}
@Test
public void testContainsString() {
TypeMap map = new TypeMap(2);
map.add(String.class);
map.add(List.class);
Assert.assertTrue(map.contains("String"));
Assert.assertTrue(map.contains("java.lang.String"));
}
@Test
public void testTypeFor() {
TypeMap map = new TypeMap(2);
map.add(String.class);
map.add(List.class);
Assert.assertTrue(map.typeFor("String") == String.class);
Assert.assertTrue(map.typeFor("java.lang.String") == String.class);
Assert.assertTrue(map.typeFor("List") == List.class);
Assert.assertTrue(map.typeFor("java.util.List") == List.class);
}
@Test
public void testSize() {
TypeMap map = new TypeMap(4);
map.add(String.class);
map.add(HashMap.class);
map.add(Integer.class);
Assert.assertTrue(map.size() == 6);
}
}