/** * */ package net.frontlinesms.data.domain; import net.frontlinesms.junit.BaseTestCase; /** * @author aga * */ public class GroupTest extends BaseTestCase { public void testRootGroup() { Group root = getRootGroup(); assertEquals("", root.getPath()); assertTrue("isRoot() fails on root group", root.isRoot()); assertEquals("All root groups should be equal.", new Group(null, null), root); } public void testCreateGroupWithEmptyName() { try { new Group(getRootGroup(), ""); fail("Creating a group with an empty name should throw an exception."); } catch(IllegalArgumentException ex) { /* expected */ } } public void testGetPath() { Group root = getRootGroup(); assertEquals("", root.getPath()); Group random = new Group(root, "random"); assertEquals("/random", random.getPath()); Group randomChild = new Group(random, "child"); assertEquals("/random/child", randomChild.getPath()); } public void testGetName() { Group root = getRootGroup(); assertEquals("", root.getName()); Group child = new Group(root, "child"); assertEquals("child", child.getName()); Group grandchild = new Group(child, "grandchild"); assertEquals("grandchild", grandchild.getName()); } public void testGetParent() { Group root = getRootGroup(); Group randomGroup = new Group(root, "random"); assertEquals(root, randomGroup.getParent()); Group child = new Group(randomGroup, "child"); assertEquals(randomGroup, child.getParent()); } /** Creates a root group */ private static Group getRootGroup() { return new Group(null, null); } }