public void test_equals_hashCode() { FxRate a1 = FxRate.of(AUD, GBP, 1.25d); FxRate a2 = FxRate.of(AUD, GBP, 1.25d); FxRate b = FxRate.of(USD, GBP, 1.25d); FxRate c = FxRate.of(USD, GBP, 1.35d); assertEquals(a1.equals(a1), true); assertEquals(a1.equals(a2), true); assertEquals(a1.equals(b), false); assertEquals(a1.equals(c), false); assertEquals(b.equals(a1), false); assertEquals(b.equals(a2), false); assertEquals(b.equals(b), true); assertEquals(b.equals(c), false); assertEquals(c.equals(a1), false); assertEquals(c.equals(a2), false); assertEquals(c.equals(b), false); assertEquals(c.equals(c), true); assertEquals(a1.hashCode(), a2.hashCode()); }