File tree Expand file tree Collapse file tree
src/easydynamics/sample_model/components
tests/unit/easydynamics/sample_model Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -74,7 +74,8 @@ def _create_area_parameter(
7474 stacklevel = 3 ,
7575 )
7676 else :
77- area .min = minimum_area
77+ if area .min < minimum_area :
78+ area .min = minimum_area
7879
7980 return area
8081
@@ -130,7 +131,7 @@ def _create_center_parameter(
130131 raise ValueError ('center must be None, a finite number or a Parameter' )
131132
132133 center = Parameter (name = name + ' center' , value = float (center ), unit = unit )
133- if enforce_minimum_center :
134+ if enforce_minimum_center and center . min < DHO_MINIMUM_CENTER :
134135 center .min = DHO_MINIMUM_CENTER
135136 return center
136137
@@ -192,6 +193,7 @@ def _create_width_parameter(
192193 raise ValueError (
193194 f'The { param_name } of a { self .__class__ .__name__ } must be greater than zero.'
194195 )
195- width .min = minimum_width
196+ if width .min < minimum_width :
197+ width .min = minimum_width
196198
197199 return width
Original file line number Diff line number Diff line change @@ -197,20 +197,32 @@ def test_convert_unit(self, gaussian: Gaussian):
197197 assert gaussian .width .value == pytest .approx (0.6 * 1e3 )
198198
199199 def test_copy (self , gaussian : Gaussian ):
200- # WHEN THEN
200+ # WHEN
201+ gaussian .area .min = 0.5
202+ gaussian .width .min = 0.1
203+ gaussian .area .fixed = True
204+ gaussian .area .max = 5.0
205+
206+ # THEN
201207 gaussian_copy = copy (gaussian )
202208 # EXPECT
203209 assert gaussian_copy is not gaussian
204210 assert gaussian_copy .display_name == gaussian .display_name
205211
206212 assert gaussian_copy .area .value == gaussian .area .value
207213 assert gaussian_copy .area .fixed == gaussian .area .fixed
214+ assert gaussian_copy .area .min == gaussian .area .min
215+ assert gaussian_copy .area .max == gaussian .area .max
208216
209217 assert gaussian_copy .center .value == gaussian .center .value
210218 assert gaussian_copy .center .fixed == gaussian .center .fixed
219+ assert gaussian_copy .center .min == gaussian .center .min
220+ assert gaussian_copy .center .max == gaussian .center .max
211221
212222 assert gaussian_copy .width .value == gaussian .width .value
213223 assert gaussian_copy .width .fixed == gaussian .width .fixed
224+ assert gaussian_copy .width .min == gaussian .width .min
225+ assert gaussian_copy .width .max == gaussian .width .max
214226
215227 assert gaussian_copy .unit == gaussian .unit
216228
Original file line number Diff line number Diff line change @@ -475,9 +475,17 @@ def test_from_dict(self, component_collection):
475475 def test_copy (self , component_collection ):
476476 # WHEN
477477 component_collection .temperature = 300
478+ component_collection .components [0 ].area .min = 0.5
479+ component_collection .components [0 ].area .fixed = True
480+ component_collection .components [0 ].area .max = 5.0
481+ component_collection .components [1 ].width .min = 0.1
482+ component_collection .components [1 ].width .fixed = True
483+ component_collection .components [1 ].width .max = 2.0
484+
485+ # THEN
478486 model_copy = copy (component_collection )
479487
480- # THEN: collection-level checks
488+ # EXPECT collection-level checks
481489 assert model_copy is not component_collection
482490 assert model_copy .display_name == component_collection .display_name
483491 assert len (model_copy .components ) == len (component_collection .components )
You can’t perform that action at this time.
0 commit comments