@Test
public void should_not_fail_if_no_optimization_is_possible() {

    // this cannot be optimized because there is no overlap between the debts
    final List<Debt> debts = Arrays.asList(
            debt(matthias, amount(2), thomas),
            debt(david, amount(12), thomasB),
            debt(jacqueline, amount(1), simon)
    );
    final List<Debt> optimizedDebts = sut.optimize(debts);
    assertThat(optimizedDebts, is(debts));
}