### Question:
ChangeRecordEntry { public final DN getDN() { return dn; } protected  ChangeRecordEntry(DN dn); final DN getDN(); abstract ChangeOperationType getChangeOperationType(); abstract String toString();  }### Answer:
@Test public void testConstructorEmptyDN() throws Exception { MyChangeRecordEntry entry = new MyChangeRecordEntry(DN.rootDN()); Assert.assertEquals(entry.getDN(), DN.rootDN()); }
@Test public void testConstructorNonNullDN() throws Exception { DN testDN1 = DN.valueOf("dc=hello, dc=world"); DN testDN2 = DN.valueOf("dc=hello, dc=world"); MyChangeRecordEntry entry = new MyChangeRecordEntry(testDN1); Assert.assertEquals(entry.getDN(), testDN2); }