package org.springframework.roo.classpath; import java.util.Arrays; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import junit.framework.TestCase; /** * Unit test of {@link TypeLocationServiceImpl}. * * @author Andrew Swan * @since 1.3.0 */ public class TypeLocationServiceImplTest extends TestCase { public void testGetAllPackages() { // Set up final String leafPackage = "com.foo.bar"; // Invoke final Set<String> allPackages = TypeLocationServiceImpl.getAllPackages(leafPackage); // Check assertEquals(3, allPackages.size()); assertTrue(allPackages.contains("com")); assertTrue(allPackages.contains("com.foo")); assertTrue(allPackages.contains("com.foo.bar")); } public void testGetPackageFromType() { // Set up final String type = "com.foo.Bar"; // Invoke final String pkg = TypeLocationServiceImpl.getPackageFromType(type); // Check assertEquals("com.foo", pkg); } public void testGetLowestCommonPackageWhenOneExists() { // Set up final String type1 = "com.foo.bar.A"; final String type2 = "com.foo.baz.B"; final Map<String, Collection<String>> typesByPackage = new LinkedHashMap<String, Collection<String>>(); typesByPackage.put("com", Arrays.asList(type1, type2)); typesByPackage.put("com.foo", Arrays.asList(type1, type2)); typesByPackage.put("com.foo.bar", Arrays.asList(type1)); typesByPackage.put("com.foo.baz", Arrays.asList(type2)); // Invoke final String lowestCommonPackage = TypeLocationServiceImpl.getLowestCommonPackage(2, typesByPackage); // Check assertEquals("com.foo", lowestCommonPackage); } }