@Test
void nothingRecommendedDueToRatingOverinvested() {

    final ParsedStrategy p = new ParsedStrategy(DefaultPortfolio.EMPTY, Collections.emptySet());
    final ReservationStrategy s = new NaturalLanguageReservationStrategy(p);
    final PortfolioOverview portfolio = mock(PortfolioOverview.class);
    when(portfolio.getInvested()).thenReturn(p.getMaximumInvestmentSize()
        .subtract(1));
    when(portfolio.getShareOnInvestment(any())).thenReturn(Ratio.ZERO);
    final Stream<RecommendedReservation> result = s.recommend(
            singletonList(new ReservationDescriptor(mockReservation(200), () -> null)),
            portfolio, mockSessionInfo());
    assertThat(result).isEmpty();
    assertThatThrownBy(s::getMode).isInstanceOf(IllegalStateException.class);
}