16#ifndef ORTOOLS_MATH_OPT_SOLVER_TESTS_GENERIC_TESTS_H_
17#define ORTOOLS_MATH_OPT_SOLVER_TESTS_GENERIC_TESTS_H_
23#include "absl/status/statusor.h"
24#include "gtest/gtest.h"
50 friend std::ostream&
operator<<(std::ostream& out,
65class GenericTest :
public ::testing::TestWithParam<GenericTestParameters> {
68 return Solve(model, GetParam().solver_type,
69 {.parameters = GetParam().solve_parameters});
76 const std::optional<CallbackEvent> supported_event = std::nullopt)
79 event(supported_event) {}
88 std::optional<CallbackEvent>
event;
90 friend std::ostream&
operator<<(std::ostream& out,
104class TimeLimitTest :
public ::testing::TestWithParam<TimeLimitTestParameters> {
static absl::StatusOr< SolveResult > SimpleSolve(const Model &model)
SolverType TestedSolver() const
absl::StatusOr< SolveResult > Solve(const Model &model, const SolverType solver_type, const SolveArguments &solve_args, const SolverInitArguments &init_args)
SolveParameters solve_parameters
friend std::ostream & operator<<(std::ostream &out, const GenericTestParameters ¶ms)
GenericTestParameters(SolverType solver_type, bool support_interrupter, bool integer_variables, std::string expected_log, SolveParameters solve_parameters={})
friend std::ostream & operator<<(std::ostream &out, const TimeLimitTestParameters ¶ms)
TimeLimitTestParameters(const SolverType solver_type, const bool integer_variables, const std::optional< CallbackEvent > supported_event=std::nullopt)
std::optional< CallbackEvent > event