66import pytest
77from dataclasses import dataclass , field
88from typing import Annotated , List
9- from copy import deepcopy
109
1110
1211def test_solve ():
@@ -83,8 +82,6 @@ def do_change(self, solution: Solution, problem_change_director: ProblemChangeDi
8382 )
8483 problem : Solution = Solution ([Entity ('A' ), Entity ('B' ), Entity ('C' )], [Value (1 ), Value (2 ), Value (3 )],
8584 SimpleScore .ONE )
86- impossible_problem : Solution = Solution ([Entity ('A' )], [Value (1 ), Value (2 ), Value (3 )],
87- SimpleScore .ONE )
8885
8986 def assert_solver_run (solver_manager , solver_job ):
9087 assert solver_manager .get_solver_status (1 ) != SolverStatus .NOT_SOLVING
@@ -113,25 +110,21 @@ def assert_problem_change_solver_run(solver_manager, solver_job):
113110 for solver_manager in (
114111 SolverManager .create (solver_config ),
115112 SolverManager .create (SolverFactory .create (solver_config )),
116- SolverManager .create (solver_config , SolverManagerConfig (parallel_solver_count = 1 )),
113+ SolverManager .create (solver_config , SolverManagerConfig (parallel_solver_count = 4 )),
117114 SolverManager .create (SolverFactory .create (solver_config ), SolverManagerConfig (parallel_solver_count = 'AUTO' ))
118115 ):
119116 with solver_manager :
120117 lock .acquire ()
121- solver_job = solver_manager .solve (1 , deepcopy ( problem ) )
118+ solver_job = solver_manager .solve (1 , problem )
122119 assert_solver_run (solver_manager , solver_job )
123120
124121 lock .acquire ()
125- solver_job = solver_manager .solve (1 , deepcopy ( impossible_problem ) )
122+ solver_job = solver_manager .solve (1 , problem )
126123 assert_problem_change_solver_run (solver_manager , solver_job )
127124
128125 def get_problem (problem_id ):
129126 assert problem_id == 1
130- return deepcopy (problem )
131-
132- def get_impossible_problem (problem_id ):
133- assert problem_id == 1
134- return deepcopy (impossible_problem )
127+ return problem
135128
136129 lock .acquire ()
137130 solver_job = (solver_manager .solve_builder ()
@@ -142,7 +135,7 @@ def get_impossible_problem(problem_id):
142135 lock .acquire ()
143136 solver_job = (solver_manager .solve_builder ()
144137 .with_problem_id (1 )
145- .with_problem_finder (get_impossible_problem )).run ()
138+ .with_problem_finder (get_problem )).run ()
146139 assert_problem_change_solver_run (solver_manager , solver_job )
147140
148141 solution_list = []
@@ -166,7 +159,7 @@ def on_best_solution_changed(solution):
166159 lock .acquire ()
167160 solver_job = (solver_manager .solve_builder ()
168161 .with_problem_id (1 )
169- .with_problem_finder (get_impossible_problem )
162+ .with_problem_finder (get_problem )
170163 .with_best_solution_consumer (on_best_solution_changed )
171164 ).run ()
172165 assert_problem_change_solver_run (solver_manager , solver_job )
@@ -192,7 +185,7 @@ def on_best_solution_changed(solution):
192185 lock .acquire ()
193186 solver_job = (solver_manager .solve_builder ()
194187 .with_problem_id (1 )
195- .with_problem_finder (get_impossible_problem )
188+ .with_problem_finder (get_problem )
196189 .with_best_solution_consumer (on_best_solution_changed )
197190 .with_final_best_solution_consumer (on_best_solution_changed )
198191 ).run ()
@@ -260,7 +253,7 @@ def my_exception_handler(problem_id, exception):
260253 try :
261254 (solver_manager .solve_builder ()
262255 .with_problem_id (1 )
263- .with_problem (deepcopy ( problem ) )
256+ .with_problem (problem )
264257 .with_exception_handler (my_exception_handler )
265258 .run ().get_final_best_solution ())
266259 except :
@@ -275,7 +268,7 @@ def my_exception_handler(problem_id, exception):
275268 try :
276269 (solver_manager .solve_builder ()
277270 .with_problem_id (1 )
278- .with_problem (deepcopy ( problem ) )
271+ .with_problem (problem )
279272 .with_best_solution_consumer (lambda solution : None )
280273 .with_exception_handler (my_exception_handler )
281274 .run ().get_final_best_solution ())
0 commit comments