@Test
public void shouldMapEveryShareToADebt() throws Exception {

    final Expense expense = anExpense()
            .withDebtee(thomas)
            .withShares(
                    new Share(david, amount(30)),
                    new Share(thomas, amount(10)),
                    new Share(lukas, amount(20))
            )
            .build();
    final Set<Debt> debts = expense.calculateAccruingDebts();
    assertThat(debts, containsInAnyOrder(
            debt(david, amount(30), thomas),
            debt(thomas, amount(10), thomas),
            debt(lukas, amount(20), thomas)
    ));
}