@Test
void startSolver_should_start_solver() {

    returnSolverFutureWhenSolverIsStarted();
    solverManager.startSolver(solution);
    verify(solver).solve(solution);
    // cannot start solver that is already solving
    assertThatIllegalStateException()
            .isThrownBy(() -> solverManager.startSolver(solution));
}