diff --git a/src/main/java/org/opentripplanner/transit/model/basic/Money.java b/src/main/java/org/opentripplanner/transit/model/basic/Money.java index e44994d1105..35278d8fbd8 100644 --- a/src/main/java/org/opentripplanner/transit/model/basic/Money.java +++ b/src/main/java/org/opentripplanner/transit/model/basic/Money.java @@ -206,4 +206,9 @@ public boolean equals(Object obj) { return false; } } + + @Override + public int hashCode() { + return Objects.hash(currency, amount); + } } diff --git a/src/test/java/org/opentripplanner/routing/core/MoneyTest.java b/src/test/java/org/opentripplanner/routing/core/MoneyTest.java index 5f197708f1d..01392e64493 100644 --- a/src/test/java/org/opentripplanner/routing/core/MoneyTest.java +++ b/src/test/java/org/opentripplanner/routing/core/MoneyTest.java @@ -102,4 +102,9 @@ void greaterThan() { void serializable() { assertInstanceOf(Serializable.class, oneDollar); } + + @Test + void equalHashCode() { + assertEquals(Money.usDollars(5).hashCode(), Money.usDollars(5).hashCode()); + } }