13
13
load_user_metadata ,
14
14
preprocessing_args ,
15
15
set_input_lists ,
16
- set_mud ,
16
+ set_mud_from_zscan_file ,
17
+ set_mud_using_xraydb ,
17
18
set_output_directory ,
18
19
set_wavelength ,
19
20
set_xtype ,
@@ -216,10 +217,10 @@ def test_set_xtype_bad():
216
217
actual_args = set_xtype (actual_args )
217
218
218
219
219
- def test_set_mud (user_filesystem ):
220
+ def test_set_mud_from_zscan_file (user_filesystem ):
220
221
cli_inputs = ["2.5" , "data.xy" ]
221
222
actual_args = get_args (cli_inputs )
222
- actual_args = set_mud (actual_args )
223
+ actual_args = set_mud_from_zscan_file (actual_args )
223
224
assert actual_args .mud == pytest .approx (2.5 , rel = 1e-4 , abs = 0.1 )
224
225
assert actual_args .z_scan_file is None
225
226
@@ -230,16 +231,41 @@ def test_set_mud(user_filesystem):
230
231
expected = [3 , str (test_dir / "testfile.xy" )]
231
232
cli_inputs = ["2.5" , "data.xy" ] + inputs
232
233
actual_args = get_args (cli_inputs )
233
- actual_args = set_mud (actual_args )
234
+ actual_args = set_mud_from_zscan_file (actual_args )
234
235
assert actual_args .mud == pytest .approx (expected [0 ], rel = 1e-4 , abs = 0.1 )
235
236
assert actual_args .z_scan_file == expected [1 ]
236
237
237
238
238
- def test_set_mud_bad ():
239
+ def test_set_mud_from_zscan_file_bad ():
239
240
cli_inputs = ["2.5" , "data.xy" , "--z-scan-file" , "invalid file" ]
240
241
actual_args = get_args (cli_inputs )
241
242
with pytest .raises (FileNotFoundError , match = "Cannot find invalid file. Please specify a valid file path." ):
242
- actual_args = set_mud (actual_args )
243
+ actual_args = set_mud_from_zscan_file (actual_args )
244
+
245
+
246
+ params_mud = [
247
+ # user specified mud
248
+ (["0.7952" , "data.xy" ], ["" ]),
249
+ # user specified mu but not mud
250
+ (["data.xy" , "--mu" , "1.2522" , "--diameter" , "0.635" ], ["" ]),
251
+ (["data.xy" , "--mu" , "1.2522" ], ["0.635" ]),
252
+ # user did not specify mud or mu
253
+ (["data.xy" ], ["ZrO2" , "17445" , "1.009" , "0.635" ]),
254
+ (["data.xy" , "--energy" , "17445" , "--density" , "1.009" , "--diameter" , "0.635" ], ["ZrO2" ]),
255
+ (["data.xy" , "--sample" , "ZrO2" , "--density" , "1.009" , "--diameter" , "0.635" ], ["17445.362740959618" ]),
256
+ (["data.xy" , "--sample" , "ZrO2" , "--energy" , "17445" , "--diameter" , "0.635" ], ["1.009" ]),
257
+ (["data.xy" , "--sample" , "ZrO2" , "--energy" , "17445" , "--density" , "1.009" ], ["0.635" ]),
258
+ (["data.xy" , "--sample" , "ZrO2" , "--energy" , "17445" , "--density" , "1.009" , "--diameter" , "0.635" ], ["" ]),
259
+ ]
260
+
261
+
262
+ @pytest .mark .parametrize ("cli_inputs, user_inputs" , params_mud )
263
+ def test_set_mud_using_xraydb (cli_inputs , user_inputs , monkeypatch ):
264
+ inp_iter = iter (user_inputs )
265
+ monkeypatch .setattr ("builtins.input" , lambda _ : next (inp_iter ))
266
+ actual_args = get_args (cli_inputs )
267
+ actual_args = set_mud_using_xraydb (actual_args )
268
+ assert actual_args .mud == pytest .approx (0.7952 , rel = 1e-4 , abs = 0.1 )
243
269
244
270
245
271
params5 = [
0 commit comments