From 3bdaaabf0212a50f07861a31875ae0f8cebb836e Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Tue, 15 Nov 2011 22:09:55 -0500 Subject: [PATCH] implement equals/hashCode/toString for SimpleConfigOrigin --- .../config/impl/SimpleConfigOrigin.java | 19 +++++++++++++++++++ .../config/impl/ConfigValueTest.scala | 13 +++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java b/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java index 9dd4681f..ed23e698 100644 --- a/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java +++ b/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java @@ -15,4 +15,23 @@ final class SimpleConfigOrigin implements ConfigOrigin { return description; } + @Override + public boolean equals(Object other) { + if (other instanceof SimpleConfigOrigin) { + return this.description + .equals(((SimpleConfigOrigin) other).description); + } else { + return false; + } + } + + @Override + public int hashCode() { + return description.hashCode(); + } + + @Override + public String toString() { + return "ConfigOrigin(" + description + ")"; + } } diff --git a/src/test/scala/com/typesafe/config/impl/ConfigValueTest.scala b/src/test/scala/com/typesafe/config/impl/ConfigValueTest.scala index 620963c6..d3c26546 100644 --- a/src/test/scala/com/typesafe/config/impl/ConfigValueTest.scala +++ b/src/test/scala/com/typesafe/config/impl/ConfigValueTest.scala @@ -13,6 +13,17 @@ import com.typesafe.config.ConfigOrigin class ConfigValueTest extends TestUtils { + @Test + def configOriginEquality() { + val a = new SimpleConfigOrigin("foo") + val sameAsA = new SimpleConfigOrigin("foo") + val b = new SimpleConfigOrigin("bar") + + checkEqualObjects(a, a) + checkEqualObjects(a, sameAsA) + checkNotEqualObjects(a, b) + } + @Test def configIntEquality() { val a = intValue(42) @@ -152,6 +163,8 @@ class ConfigValueTest extends TestUtils { dm.toString() val dmo = new ConfigDelayedMergeObject(fakeOrigin(), List[AbstractConfigValue](emptyObj, subst("a"), subst("b")).asJava) dmo.toString() + + fakeOrigin().toString() } private def unsupported(body: => Unit) {