### Question:
Money implements IMoney { public IMoney negate() { return new Money(-amount(), currency()); } Money(int amount, String currency); IMoney add(IMoney m); IMoney addMoney(Money m); IMoney addMoneyBag(MoneyBag s); int amount(); String currency(); @Override boolean equals(Object anObject); @Override int hashCode(); boolean isZero(); IMoney multiply(int factor); IMoney negate(); IMoney subtract(IMoney m); @Override String toString(); void appendTo(MoneyBag m);  }### Answer:
@Test public void testSimpleNegate() { Money expected = new Money(-14, "CHF"); assertEquals(expected, f14CHF.negate()); }
@Test public void testBagNegate() { IMoney expected = MoneyBag.create(new Money(-12, "CHF"), new Money(-7, "USD")); assertEquals(expected, fMB1.negate()); }