//-------------------------------------------------------------------------
        public virtual void test_equals_hashCode()
        {
            CurrencyPair a1 = CurrencyPair.of(AUD, GBP);
            CurrencyPair a2 = CurrencyPair.of(AUD, GBP);
            CurrencyPair b  = CurrencyPair.of(USD, GBP);
            CurrencyPair c  = CurrencyPair.of(USD, EUR);

            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.GetHashCode(), a2.GetHashCode());
        }