@Test
void recommend() {

    final Participation p = mockParticipation(BigDecimal.TEN);
    final ParticipationDescriptor pd = new ParticipationDescriptor(p, () -> LOAN);
    final Optional<RecommendedParticipation> r = pd.recommend();
    assertThat(r).isPresent();
    assertSoftly(softly -> {
        softly.assertThat(r.get()
            .amount())
            .isEqualTo(p.getRemainingPrincipal());
        softly.assertThat(r.get()
            .descriptor()
            .related())
            .isSameAs(LOAN);
        softly.assertThat(r.get()
            .descriptor())
            .isEqualTo(pd);
    });
}