8
8
from diffpy .labpdfproc .tools import (
9
9
known_sources ,
10
10
load_user_metadata ,
11
- set_input_files ,
11
+ set_input_lists ,
12
12
set_output_directory ,
13
13
set_wavelength ,
14
14
)
34
34
"input_dir/binary.pkl" ,
35
35
],
36
36
),
37
- ( # list of files provided (we skip if encountering invalid files)
37
+ ( # glob list of input directories
38
+ ["." , "./input_dir" ],
39
+ [
40
+ "./good_data.chi" ,
41
+ "./good_data.xy" ,
42
+ "./good_data.txt" ,
43
+ "./unreadable_file.txt" ,
44
+ "./binary.pkl" ,
45
+ "input_dir/good_data.chi" ,
46
+ "input_dir/good_data.xy" ,
47
+ "input_dir/good_data.txt" ,
48
+ "input_dir/unreadable_file.txt" ,
49
+ "input_dir/binary.pkl" ,
50
+ ],
51
+ ),
52
+ ( # list of files provided (we skip if encountering missing files)
38
53
["good_data.chi" , "good_data.xy" , "unreadable_file.txt" , "missing_file.txt" ],
39
54
["good_data.chi" , "good_data.xy" , "unreadable_file.txt" ],
40
55
),
43
58
["input_dir/good_data.chi" , "good_data.chi" ],
44
59
),
45
60
( # file_list.txt list of files provided
46
- ["file_list_dir /file_list.txt" ],
61
+ ["input_dir /file_list.txt" ],
47
62
["good_data.chi" , "good_data.xy" , "good_data.txt" ],
48
63
),
49
64
( # file_list_example2.txt list of files provided in different directories
50
- ["file_list_dir /file_list_example2.txt" ],
65
+ ["input_dir /file_list_example2.txt" ],
51
66
["input_dir/good_data.chi" , "good_data.xy" , "input_dir/good_data.txt" ],
52
67
),
53
68
]
54
69
55
70
56
71
@pytest .mark .parametrize ("inputs, expected" , params_input )
57
- def test_set_input_files (inputs , expected , user_filesystem ):
58
- expected_input_directory = []
59
- for expected_path in expected :
60
- expected_input_directory . append ( Path (user_filesystem ) / expected_path )
72
+ def test_set_input_lists (inputs , expected , user_filesystem ):
73
+ base_dir = Path ( user_filesystem )
74
+ os . chdir ( base_dir )
75
+ expected_paths = [ Path (user_filesystem ). resolve () / expected_path for expected_path in expected ]
61
76
62
77
cli_inputs = ["2.5" ] + inputs
63
78
actual_args = get_args (cli_inputs )
64
- actual_args = set_input_files (actual_args )
65
- assert set ( actual_args .input_directory ) == set ( expected_input_directory )
79
+ actual_args = set_input_lists (actual_args )
80
+ assert actual_args .input_directory == expected_paths
66
81
67
82
68
83
# This test is for existing single input file or directory absolute path not in cwd
@@ -83,7 +98,7 @@ def test_set_input_files_not_cwd(inputs, expected, user_filesystem):
83
98
84
99
cli_inputs = ["2.5" ] + actual_input
85
100
actual_args = get_args (cli_inputs )
86
- actual_args = set_input_files (actual_args )
101
+ actual_args = set_input_lists (actual_args )
87
102
assert set (actual_args .input_directory ) == set (expected_input_directory )
88
103
89
104
@@ -100,7 +115,7 @@ def test_set_input_files_bad(inputs, msg, user_filesystem):
100
115
cli_inputs = ["2.5" ] + inputs
101
116
actual_args = get_args (cli_inputs )
102
117
with pytest .raises (ValueError , match = msg [0 ]):
103
- actual_args = set_input_files (actual_args )
118
+ actual_args = set_input_lists (actual_args )
104
119
105
120
106
121
# Pass files to loadData and use it to check if file is valid or not
0 commit comments