### Question:
PortfolioEntry extends AuditAwareEntitySupport<PortfolioEntry, String, Long> { public BigMoney obtainMoneyToSpend() { return amountOfMoney.minus(reservedAmountOfMoney); }  BigMoney obtainAmountOfAvailableItemFor(String primaryKey, CurrencyUnit currencyUnit); BigMoney obtainAmountOfReservedItemFor(String primaryKey, CurrencyUnit currencyUnit); BigMoney obtainAmountOfItemInPossessionFor(String primaryKey, CurrencyUnit currencyUnit); void confirmReserved(String coinIdentifier, BigMoney amount); BigMoney obtainMoneyToSpend(); ItemEntry findItemByIdentifier(String primaryKey); void addReserved(String coinIdentifier, BigMoney reserved); void addItemInPossession(String coinIdentifier, BigMoney amount); boolean hasItem(String coinIdentifier); ItemEntry createItem(String coinIdentifier, String coinName); void cancelReserved(String coinIdentifier, BigMoney amount); String getUserIdentifier(); void setUserIdentifier(String userIdentifier); BigMoney getAmountOfMoney(); void setAmountOfMoney(BigMoney amountOfMoney); String getIdentifier(); void setIdentifier(String primaryKey); BigMoney getReservedAmountOfMoney(); void setReservedAmountOfMoney(BigMoney reservedAmountOfMoney); Map<String, ItemEntry> getItems(); void setItems(Map<String, ItemEntry> iterms); String getUsername(); void setUsername(String username); String getFullName(); void setFullName(String fullName); @Override String toString();  }### Answer:
@Test public void testObtainBudget() { PortfolioEntry portfolio = createDefaultPortfolio(); assertEquals(AMOUNT_OF_MONEY.minus(RESERVED_AMOUNT_OF_MONEY), portfolio.obtainMoneyToSpend()); }