Skip to content

Commit 1f483d5

Browse files
committed
math_opt: export more cpp/ tests
1 parent df258ea commit 1f483d5

26 files changed

+18876
-3
lines changed

.bazelrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ test --test_output=errors --test_timeout_filters=-eternal
5252
# Put user-specific options in .bazelrc.user
5353
try-import %workspace%/.bazelrc.user
5454

55+
# googletest
56+
build --define absl=1
57+
5558
# asan
5659
build:asan --strip=never
5760
build:asan --copt -fsanitize=address

ortools/math_opt/cpp/BUILD.bazel

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,71 @@ cc_library(
186186
],
187187
)
188188

189+
# Same as `variable_and_expressions` but activates the counters of instances of
190+
# LinearExpression. Only for tests.
191+
cc_library(
192+
name = "variable_and_expressions_with_counters",
193+
testonly = 1,
194+
srcs = ["variable_and_expressions.cc"],
195+
hdrs = ["variable_and_expressions.h"],
196+
defines = ["MATH_OPT_USE_EXPRESSION_COUNTERS"],
197+
deps = [
198+
":formatters",
199+
":key_types",
200+
"//ortools/base",
201+
"//ortools/base:intops",
202+
"//ortools/base:map_util",
203+
"//ortools/math_opt/storage:model_storage",
204+
"//ortools/math_opt/storage:model_storage_item",
205+
"//ortools/math_opt/storage:model_storage_types",
206+
"//ortools/util:fp_roundtrip_conv",
207+
"@abseil-cpp//absl/base:core_headers",
208+
"@abseil-cpp//absl/container:flat_hash_map",
209+
"@abseil-cpp//absl/log",
210+
"@abseil-cpp//absl/log:check",
211+
"@abseil-cpp//absl/strings",
212+
],
213+
)
214+
215+
cc_test(
216+
name = "variable_and_expressions_test",
217+
srcs = ["variable_and_expressions_test.cc"],
218+
deps = [
219+
":matchers",
220+
":variable_and_expressions",
221+
"//ortools/base:gmock",
222+
"//ortools/base:gmock_main",
223+
"//ortools/math_opt/elemental:elements",
224+
"//ortools/math_opt/storage:model_storage",
225+
"//ortools/util:fp_roundtrip_conv",
226+
"//ortools/util:fp_roundtrip_conv_testing",
227+
"@abseil-cpp//absl/container:flat_hash_map",
228+
"@abseil-cpp//absl/strings",
229+
"@abseil-cpp//absl/strings:str_format",
230+
],
231+
)
232+
233+
# Same as `variable_and_expressions_test` but activates the counters of
234+
# instances of LinearExpression and the associated tests.
235+
cc_test(
236+
name = "variable_and_expressions_with_counters_test",
237+
srcs = ["variable_and_expressions_test.cc"],
238+
defines = ["MATH_OPT_USE_EXPRESSION_COUNTERS"],
239+
deps = [
240+
":matchers",
241+
":variable_and_expressions_with_counters",
242+
"//ortools/base:gmock",
243+
"//ortools/base:gmock_main",
244+
"//ortools/math_opt/elemental:elements",
245+
"//ortools/math_opt/storage:model_storage",
246+
"//ortools/util:fp_roundtrip_conv",
247+
"//ortools/util:fp_roundtrip_conv_testing",
248+
"@abseil-cpp//absl/container:flat_hash_map",
249+
"@abseil-cpp//absl/strings",
250+
"@abseil-cpp//absl/strings:str_format",
251+
],
252+
)
253+
189254
cc_library(
190255
name = "objective",
191256
srcs = ["objective.cc"],
@@ -201,6 +266,20 @@ cc_library(
201266
],
202267
)
203268

269+
cc_test(
270+
name = "objective_test",
271+
srcs = ["objective_test.cc"],
272+
deps = [
273+
":objective",
274+
":variable_and_expressions",
275+
"//ortools/base:gmock",
276+
"//ortools/base:gmock_main",
277+
"//ortools/math_opt/storage:model_storage",
278+
"//ortools/math_opt/storage:model_storage_types",
279+
"@abseil-cpp//absl/strings",
280+
],
281+
)
282+
204283
cc_library(
205284
name = "linear_constraint",
206285
hdrs = ["linear_constraint.h"],
@@ -217,6 +296,24 @@ cc_library(
217296
],
218297
)
219298

299+
cc_test(
300+
name = "linear_constraint_test",
301+
srcs = ["linear_constraint_test.cc"],
302+
deps = [
303+
":linear_constraint",
304+
":matchers",
305+
":model",
306+
":variable_and_expressions",
307+
"//ortools/base:gmock",
308+
"//ortools/base:gmock_main",
309+
"//ortools/base:intops",
310+
"//ortools/math_opt/constraints/util:model_util",
311+
"//ortools/math_opt/storage:model_storage",
312+
"//ortools/math_opt/storage:model_storage_types",
313+
"@abseil-cpp//absl/strings",
314+
],
315+
)
316+
220317
cc_library(
221318
name = "solution",
222319
srcs = ["solution.cc"],
@@ -245,6 +342,26 @@ cc_library(
245342
],
246343
)
247344

345+
cc_test(
346+
name = "solution_test",
347+
srcs = ["solution_test.cc"],
348+
deps = [
349+
":enums_testing",
350+
":linear_constraint",
351+
":matchers",
352+
":math_opt",
353+
":objective",
354+
":solution",
355+
":variable_and_expressions",
356+
"//ortools/base:gmock",
357+
"//ortools/base:gmock_main",
358+
"//ortools/math_opt:solution_cc_proto",
359+
"//ortools/math_opt:sparse_containers_cc_proto",
360+
"//ortools/math_opt/storage:model_storage",
361+
"@abseil-cpp//absl/status",
362+
],
363+
)
364+
248365
cc_library(
249366
name = "solve_result",
250367
srcs = ["solve_result.cc"],
@@ -293,6 +410,21 @@ cc_library(
293410
],
294411
)
295412

413+
cc_test(
414+
name = "map_filter_test",
415+
srcs = ["map_filter_test.cc"],
416+
deps = [
417+
":linear_constraint",
418+
":map_filter",
419+
":model",
420+
":variable_and_expressions",
421+
"//ortools/base:gmock_main",
422+
"//ortools/math_opt:sparse_containers_cc_proto",
423+
"//ortools/math_opt/storage:model_storage",
424+
"@abseil-cpp//absl/status",
425+
],
426+
)
427+
296428
cc_library(
297429
name = "callback",
298430
srcs = ["callback.cc"],
@@ -333,6 +465,20 @@ cc_library(
333465
],
334466
)
335467

468+
cc_test(
469+
name = "key_types_test",
470+
srcs = ["key_types_test.cc"],
471+
deps = [
472+
":key_types",
473+
":variable_and_expressions",
474+
"//ortools/base:gmock_main",
475+
"//ortools/math_opt/storage:model_storage",
476+
"@abseil-cpp//absl/container:flat_hash_set",
477+
"@abseil-cpp//absl/status",
478+
"@google_benchmark//:benchmark",
479+
],
480+
)
481+
336482
cc_library(
337483
name = "model_solve_parameters",
338484
srcs = ["model_solve_parameters.cc"],
@@ -417,6 +563,17 @@ cc_library(
417563
],
418564
)
419565

566+
cc_test(
567+
name = "solve_arguments_test",
568+
srcs = ["solve_arguments_test.cc"],
569+
deps = [
570+
":math_opt",
571+
":solve_arguments",
572+
"//ortools/base:gmock_main",
573+
"@abseil-cpp//absl/status",
574+
],
575+
)
576+
420577
cc_library(
421578
name = "solve",
422579
srcs = ["solve.cc"],
@@ -454,6 +611,17 @@ cc_library(
454611
],
455612
)
456613

614+
cc_test(
615+
name = "streamable_solver_init_arguments_test",
616+
srcs = ["streamable_solver_init_arguments_test.cc"],
617+
deps = [
618+
":streamable_solver_init_arguments",
619+
"//ortools/base:gmock_main",
620+
"//ortools/math_opt:parameters_cc_proto",
621+
"//ortools/math_opt/solvers:gurobi_cc_proto",
622+
],
623+
)
624+
457625
cc_library(
458626
name = "parameters",
459627
srcs = ["parameters.cc"],
@@ -505,6 +673,22 @@ cc_library(
505673
],
506674
)
507675

676+
cc_test(
677+
name = "matchers_test",
678+
srcs = ["matchers_test.cc"],
679+
deps = [
680+
":matchers",
681+
":math_opt",
682+
":model",
683+
":solution",
684+
":solve_result",
685+
"//ortools/base:gmock",
686+
"//ortools/base:gmock_main",
687+
"@abseil-cpp//absl/container:flat_hash_map",
688+
"@abseil-cpp//absl/strings",
689+
],
690+
)
691+
508692
cc_library(
509693
name = "enums",
510694
hdrs = ["enums.h"],
@@ -515,6 +699,31 @@ cc_library(
515699
],
516700
)
517701

702+
proto_library(
703+
name = "enums_test_proto",
704+
srcs = ["enums_test.proto"],
705+
)
706+
707+
cc_proto_library(
708+
name = "enums_test_cc_proto",
709+
deps = [":enums_test_proto"],
710+
)
711+
712+
cc_test(
713+
name = "enums_test",
714+
srcs = ["enums_test.cc"],
715+
deps = [
716+
":enums",
717+
":enums_test_cc_proto",
718+
":enums_testing",
719+
"//ortools/base:gmock_main",
720+
"//ortools/base:logging",
721+
"//ortools/math_opt/testing:stream",
722+
"@abseil-cpp//absl/strings",
723+
"@abseil-cpp//absl/types:span",
724+
],
725+
)
726+
518727
cc_library(
519728
name = "enums_testing",
520729
testonly = True,
@@ -541,6 +750,16 @@ cc_library(
541750
],
542751
)
543752

753+
cc_test(
754+
name = "statistics_test",
755+
srcs = ["statistics_test.cc"],
756+
deps = [
757+
":model",
758+
":statistics",
759+
"//ortools/base:gmock_main",
760+
],
761+
)
762+
544763
cc_library(
545764
name = "formatters",
546765
hdrs = ["formatters.h"],
@@ -585,6 +804,35 @@ cc_library(
585804
],
586805
)
587806

807+
cc_test(
808+
name = "compute_infeasible_subsystem_result_test",
809+
srcs = ["compute_infeasible_subsystem_result_test.cc"],
810+
deps = [
811+
":compute_infeasible_subsystem_result",
812+
":enums",
813+
":linear_constraint",
814+
":matchers",
815+
":model",
816+
":solve_result",
817+
":variable_and_expressions",
818+
"//ortools/base:gmock_main",
819+
"//ortools/base:status_macros",
820+
"//ortools/math_opt:infeasible_subsystem_cc_proto",
821+
"//ortools/math_opt:result_cc_proto",
822+
"//ortools/math_opt/constraints/indicator:indicator_constraint",
823+
"//ortools/math_opt/constraints/quadratic:quadratic_constraint",
824+
"//ortools/math_opt/constraints/second_order_cone:second_order_cone_constraint",
825+
"//ortools/math_opt/constraints/sos:sos1_constraint",
826+
"//ortools/math_opt/constraints/sos:sos2_constraint",
827+
"//ortools/math_opt/storage:model_storage",
828+
"//ortools/math_opt/testing:stream",
829+
"@abseil-cpp//absl/container:flat_hash_map",
830+
"@abseil-cpp//absl/container:flat_hash_set",
831+
"@abseil-cpp//absl/status",
832+
"@abseil-cpp//absl/status:statusor",
833+
],
834+
)
835+
588836
cc_library(
589837
name = "compute_infeasible_subsystem_arguments",
590838
hdrs = ["compute_infeasible_subsystem_arguments.h"],
@@ -608,6 +856,15 @@ cc_library(
608856
],
609857
)
610858

859+
cc_test(
860+
name = "solver_resources_test",
861+
srcs = ["solver_resources_test.cc"],
862+
deps = [
863+
":solver_resources",
864+
"//ortools/base:gmock_main",
865+
],
866+
)
867+
611868
cc_library(
612869
name = "solve_impl",
613870
srcs = ["solve_impl.cc"],

0 commit comments

Comments
 (0)