package org.springframework.roo.model;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
/**
* Unit test of {@link JavaPackage}.
*
* @author Andrew Swan
* @since 1.2.0
*/
public class JavaPackageTest {
private static final JavaPackage CHILD = new JavaPackage("com.foo.bar");
private static final JavaPackage PARENT = new JavaPackage("com.foo");
@Test
public void testChildPackageIsWithinParent() {
assertTrue(CHILD.isWithin(PARENT));
}
@Test
public void testGetElementsOfMultiLevelPackage() {
// Set up
final JavaPackage javaPackage = CHILD;
// Invoke
final List<String> elements = javaPackage.getElements();
// Check
assertEquals(Arrays.asList("com", "foo", "bar"), elements);
assertEquals("bar", javaPackage.getLastElement());
}
@Test
public void testGetElementsOfSingleLevelPackage() {
// Set up
final JavaPackage javaPackage = new JavaPackage("me");
// Invoke
final List<String> elements = javaPackage.getElements();
// Check
assertEquals(Arrays.asList("me"), elements);
assertEquals("me", javaPackage.getLastElement());
}
@Test
public void testPackageIsNotWithinNullPackage() {
assertFalse(PARENT.isWithin(null));
}
@Test
public void testPackageIsWithinSelf() {
assertTrue(PARENT.isWithin(PARENT));
}
@Test
public void testParentPackageIsNotWithinChild() {
assertFalse(PARENT.isWithin(CHILD));
}
}