### Question:
DN implements Comparable<DN>, Serializable { public static DN rootDN() { return NULL_DN; } DN();  DN(RDN[] rdnComponents);  DN(List<RDN> rdnComponents);  DN(RDN rdn, DN parentDN); static DN rootDN(); boolean isRootDN(); int size(); RDN rdn(); DN rename(final DN fromDN, final DN toDN); RDN getRDN(int pos); DN parent(); DN getParentDNInSuffix(); DN child(RDN rdn); DN concat(RDN[] rdnComponents); DN child(DN relativeBaseDN); boolean isDescendantOf(DN dn); boolean isAncestorOf(DN dn); boolean matchesBaseAndScope(DN baseDN, SearchScope scope); static DN decode(ByteSequence dnString); static DN valueOf(String dnString); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); void toString(StringBuilder buffer); String toNormalizedUrlSafeString(); ByteString toNormalizedByteString(); @Override int compareTo(DN other); static final DN NULL_DN; static final byte NORMALIZED_RDN_SEPARATOR; static final byte NORMALIZED_AVA_SEPARATOR; static final byte NORMALIZED_ESC_BYTE; }### Answer:
@Test public void testCreateNullDN1() throws Exception { DN dn = new DN(new RDN[0]); assertEquals(dn, DN.rootDN()); }
@Test public void testCreateNullDN2() throws Exception { DN dn = new DN(); assertEquals(dn, DN.rootDN()); }
@Test public void testCreateNullDN3() throws Exception { DN dn = new DN((RDN[]) null); assertEquals(dn, DN.rootDN()); }
@Test public void testCreateNullDN4() throws Exception { DN dn = new DN((ArrayList<RDN>) null); assertEquals(dn, DN.rootDN()); }