use of org.apache.directory.api.ldap.util.tree.DnNode in project directory-ldap-api by apache.
the class TestDnNode method testAdd3LevelDNNoElem.
/**
* Test the addition of a Dn with three Rdn
*/
@Test
public void testAdd3LevelDNNoElem() throws LdapException {
DnNode<Dn> tree = new DnNode<Dn>(Dn.EMPTY_DN, null);
Dn dn = new Dn("dc=c,dc=b,dc=a");
tree.add(dn);
assertNotNull(tree);
Map<String, DnNode<Dn>> children = tree.getChildren();
assertNotNull(children);
assertEquals(1, children.size());
assertNull(tree.getElement());
DnNode<Dn> level1 = children.get(new Rdn("dc=a").getNormName());
DnNode<Dn> level2 = level1.getChildren().get(new Rdn("dc=b").getNormName());
DnNode<Dn> level3 = level2.getChildren().get(new Rdn("dc=c").getNormName());
assertNotNull(level3);
assertFalse(level3.hasElement());
}
use of org.apache.directory.api.ldap.util.tree.DnNode in project directory-ldap-api by apache.
the class TestDnNode method testSize.
// ---------------------------------------------------------------------------
// Test the size() method
// ---------------------------------------------------------------------------
@Test
public void testSize() throws LdapException {
DnNode<Dn> tree = new DnNode<Dn>();
assertEquals(1, tree.size());
tree.add(new Dn("dc=b,dc=a"));
assertEquals(3, tree.size());
tree.add(new Dn("dc=f,dc=a"));
assertEquals(4, tree.size());
tree.add(new Dn("dc=a,dc=f,dc=a"));
assertEquals(5, tree.size());
tree.add(new Dn("dc=b,dc=f,dc=a"));
assertEquals(6, tree.size());
tree.add(new Dn("dc=z,dc=t"));
assertEquals(8, tree.size());
}
use of org.apache.directory.api.ldap.util.tree.DnNode in project directory-ldap-api by apache.
the class TestDnNode method testContains.
// ---------------------------------------------------------------------------
// Test the contains(Rdn) method
// ---------------------------------------------------------------------------
@Test
public void testContains() throws Exception {
DnNode<Dn> tree = new DnNode<Dn>();
Dn dn = new Dn("dc=c,dc=b,dc=a");
tree.add(dn, dn);
Rdn rdnA = new Rdn("dc=a");
Rdn rdnB = new Rdn("dc=b");
Rdn rdnC = new Rdn("dc=c");
assertTrue(tree.contains(rdnA));
assertFalse(tree.contains(rdnB));
assertFalse(tree.contains(rdnC));
DnNode<Dn> child = tree.getChild(rdnA);
assertFalse(child.contains(rdnA));
assertTrue(child.contains(rdnB));
assertFalse(child.contains(rdnC));
child = child.getChild(rdnB);
assertFalse(child.contains(rdnA));
assertFalse(child.contains(rdnB));
assertTrue(child.contains(rdnC));
}
use of org.apache.directory.api.ldap.util.tree.DnNode in project directory-ldap-api by apache.
the class TestDnNode method testHasParent.
// ---------------------------------------------------------------------------
// Test the hasParent() method
// ---------------------------------------------------------------------------
@Test
public void testHasParent() throws Exception {
DnNode<Dn> tree = new DnNode<Dn>();
Dn dn = new Dn("dc=c,dc=b,dc=a");
tree.add(dn, dn);
assertFalse(tree.hasParent());
DnNode<Dn> child = tree.getChild(new Rdn("dc=a"));
assertTrue(child.hasParent());
DnNode<Dn> child1 = child.getChild(new Rdn("dc=b"));
assertTrue(child1.hasParent());
child = child1.getChild(new Rdn("dc=c"));
assertTrue(child.hasParent());
}
use of org.apache.directory.api.ldap.util.tree.DnNode in project directory-ldap-api by apache.
the class TestDnNode method testAdd2DistinctDNsNoElem.
/**
* Test the addition of two DNs not overlapping
*/
@Test
public void testAdd2DistinctDNsNoElem() throws LdapException {
DnNode<Dn> tree = new DnNode<Dn>();
Dn dn1 = new Dn("dc=b,dc=a");
Dn dn2 = new Dn("dc=f,dc=e");
tree.add(dn1);
tree.add(dn2);
assertNotNull(tree);
Map<String, DnNode<Dn>> children = tree.getChildren();
assertNotNull(children);
assertEquals(2, children.size());
assertNull(tree.getElement());
DnNode<Dn> level1 = children.get(new Rdn("dc=a").getNormName());
DnNode<Dn> level2 = level1.getChildren().get(new Rdn("dc=b").getNormName());
assertNotNull(level2);
assertFalse(level2.hasElement());
level1 = children.get(new Rdn("dc=e").getNormName());
level2 = level1.getChildren().get(new Rdn("dc=f").getNormName());
assertNotNull(level2);
assertFalse(level2.hasElement());
}