### Question:
Money implements FxConvertible<Money>, Comparable<Money>, Serializable { @Override public int compareTo(Money other) { return ComparisonChain.start() .compare(currency, other.currency) .compare(amount, other.amount) .result(); } private  Money(Currency currency, BigDecimal amount); static Money zero(Currency currency); static Money of(CurrencyAmount currencyAmount); static Money of(Currency currency, double amount); static Money of(Currency currency, BigDecimal amount); @FromString static Money parse(String amountStr); Currency getCurrency(); BigDecimal getAmount(); Money plus(Money amountToAdd); Money minus(Money amountToSubtract); Money multipliedBy(long valueToMultiplyBy); boolean isZero(); boolean isPositive(); boolean isNegative(); CurrencyAmount toCurrencyAmount(); Money convertedTo(Currency resultCurrency, BigDecimal fxRate); @Override Money convertedTo(Currency resultCurrency, FxRateProvider rateProvider); @Override int compareTo(Money other); @Override boolean equals(Object obj); @Override int hashCode(); @Override @ToString String toString();  }### Answer:
@Test public void testCompareTo() throws Exception { assertThat(-1).isEqualTo(MONEY_100_AUD.compareTo(MONEY_200_RON)); assertThat(0).isEqualTo(MONEY_200_RON.compareTo(MONEY_200_RON_ALTERNATIVE)); }