am 6c2e8fb4: Merge "Fix LinkProperties\'s equals() method." into jb-mr2-dev

* commit '6c2e8fb4d530c5fb1352e8667449591b39d89c5a':
  Fix LinkProperties's equals() method.
This commit is contained in:
Lorenzo Colitti
2013-04-02 22:32:34 -07:00
committed by Android Git Automerger
2 changed files with 33 additions and 9 deletions

View File

@@ -378,7 +378,7 @@ public class LinkProperties implements Parcelable {
* @return {@code true} if both are identical, {@code false} otherwise.
*/
public boolean isIdenticalStackedLinks(LinkProperties target) {
if (!mStackedLinks.keys().equals(target.mStackedLinks.keys())) {
if (!mStackedLinks.keySet().equals(target.mStackedLinks.keySet())) {
return false;
}
for (LinkProperties stacked : mStackedLinks.values()) {

View File

@@ -33,14 +33,41 @@ public class LinkPropertiesTest extends TestCase {
private static String GATEWAY2 = "69.78.8.1";
private static String NAME = "qmi0";
public void assertLinkPropertiesEqual(LinkProperties source, LinkProperties target) {
// Check implementation of equals(), element by element.
assertTrue(source.isIdenticalInterfaceName(target));
assertTrue(target.isIdenticalInterfaceName(source));
assertTrue(source.isIdenticalAddresses(target));
assertTrue(target.isIdenticalAddresses(source));
assertTrue(source.isIdenticalDnses(target));
assertTrue(target.isIdenticalDnses(source));
assertTrue(source.isIdenticalRoutes(target));
assertTrue(target.isIdenticalRoutes(source));
assertTrue(source.isIdenticalHttpProxy(target));
assertTrue(target.isIdenticalHttpProxy(source));
assertTrue(source.isIdenticalStackedLinks(target));
assertTrue(target.isIdenticalStackedLinks(source));
// Check result of equals().
assertTrue(source.equals(target));
assertTrue(target.equals(source));
// Check hashCode.
assertEquals(source.hashCode(), target.hashCode());
}
@SmallTest
public void testEqualsNull() {
LinkProperties source = new LinkProperties();
LinkProperties target = new LinkProperties();
assertFalse(source == target);
assertTrue(source.equals(target));
assertTrue(source.hashCode() == target.hashCode());
assertLinkPropertiesEqual(source, target);
}
@SmallTest
@@ -73,8 +100,7 @@ public class LinkPropertiesTest extends TestCase {
target.addRoute(new RouteInfo(NetworkUtils.numericToInetAddress(GATEWAY1)));
target.addRoute(new RouteInfo(NetworkUtils.numericToInetAddress(GATEWAY2)));
assertTrue(source.equals(target));
assertTrue(source.hashCode() == target.hashCode());
assertLinkPropertiesEqual(source, target);
target.clear();
// change Interface Name
@@ -163,8 +189,7 @@ public class LinkPropertiesTest extends TestCase {
target.addRoute(new RouteInfo(NetworkUtils.numericToInetAddress(GATEWAY2)));
target.addRoute(new RouteInfo(NetworkUtils.numericToInetAddress(GATEWAY1)));
assertTrue(source.equals(target));
assertTrue(source.hashCode() == target.hashCode());
assertLinkPropertiesEqual(source, target);
} catch (Exception e) {
fail();
}
@@ -191,8 +216,7 @@ public class LinkPropertiesTest extends TestCase {
target.addLinkAddress(new LinkAddress(
NetworkUtils.numericToInetAddress(ADDRV6), 128));
assertTrue(source.equals(target));
assertTrue(source.hashCode() == target.hashCode());
assertLinkPropertiesEqual(source, target);
} catch (Exception e) {
fail();
}