LDAP-260: LdapRdn now disregards order or sub components in equals, compareTo, and hashCode.

This commit is contained in:
Mattias Hellborg Arthursson
2013-08-28 16:32:30 +02:00
parent 7d50459ae1
commit d2d050ee2d
4 changed files with 116 additions and 25 deletions

View File

@@ -50,4 +50,22 @@ public class LdapRdnComponentTest {
int result = component1.compareTo(component2);
assertEquals(0, result);
}
@Test
public void testCompareTo_DifferentCase_LDAP259() {
LdapRdnComponent component1 = new LdapRdnComponent("cn", "john doe");
LdapRdnComponent component2 = new LdapRdnComponent("CN", "John Doe");
assertEquals("Should be equal", component1, component2);
assertTrue("0 should be returned by compareTo", component1.compareTo(component2) == 0);
}
@Test
public void verifyThatHashCodeDisregardsCase_LDAP259() {
LdapRdnComponent component1 = new LdapRdnComponent("cn", "john doe");
LdapRdnComponent component2 = new LdapRdnComponent("CN", "John Doe");
assertEquals("Should be equal", component1.hashCode(), component2.hashCode());
}
}

View File

@@ -190,6 +190,22 @@ public class LdapRdnTest {
assertEquals(0, result);
}
@Test
public void verifyThatEqualsDisregardsOrder_Ldap260() throws Exception {
LdapRdn rdn1 = new LdapRdn("cn=john doe+sn=doe");
LdapRdn rdn2 = new LdapRdn("sn=doe+cn=john doe");
assertEquals("Should be equal", rdn1, rdn2);
}
@Test
public void verifyThatHashcodeDisregardsOrder_Ldap260() throws Exception {
LdapRdn rdn1 = new LdapRdn("cn=john doe+sn=doe");
LdapRdn rdn2 = new LdapRdn("sn=doe+cn=john doe");
assertEquals("Should be equal", rdn1.hashCode(), rdn2.hashCode());
}
@Test
public void testCompareTo_EqualsComplex() throws Exception {
LdapRdn rdn1 = new LdapRdn("cn=john doe+sn=doe");
@@ -200,7 +216,7 @@ public class LdapRdnTest {
}
@Test
public void testCompareTo_Less() {
public void testCompareTo_LessWithMissingKey() {
LdapRdn rdn1 = new LdapRdn("cn=john doe+sn=doe");
LdapRdn rdn2 = new LdapRdn("cn=john doe+tn=doe");
@@ -208,10 +224,19 @@ public class LdapRdnTest {
assertTrue(result < 0);
}
@Test
public void testCompareTo_LessWithExistingKey() {
LdapRdn rdn1 = new LdapRdn("cn=john doe+sn=doa");
LdapRdn rdn2 = new LdapRdn("cn=john doe+sn=doe");
int result = rdn1.compareTo(rdn2);
assertTrue(result < 0);
}
@Test
public void testCompareTo_Greater() {
LdapRdn rdn1 = new LdapRdn("cn=john doe+sn=doe");
LdapRdn rdn2 = new LdapRdn("cn=john doe+an=doe");
LdapRdn rdn2 = new LdapRdn("cn=john doe+sn=doa");
int result = rdn1.compareTo(rdn2);
assertTrue(result > 0);