@Test
void loading() {

    final InvestmentStrategy is = (availableLoans, portfolio, restrictions) -> Stream.empty();
    final StrategyService iss = new StrategyService() {
        @Override
        public Optional<InvestmentStrategy> toInvest(final String strategy) {
            return Optional.of(is);
        }
        @Override
        public Optional<SellStrategy> toSell(final String strategy) {
            return Optional.empty();
        }
        @Override
        public Optional<PurchaseStrategy> toPurchase(final String strategy) {
            return Optional.empty();
        }
        @Override
        public Optional<ReservationStrategy> forReservations(final String strategy) {
            return Optional.empty();
        }
    };
    assertThat(StrategyLoader.load("", Collections.singleton(iss), StrategyService::toInvest))
        .contains(is);
}