16
16
# 2. No wavelength provided, expected empty array of tth and wavelength UserWarning
17
17
(None , np .empty ((0 )), np .empty ((0 ))),
18
18
# C2: Use non-empty q values to compute tth with or without wavelength
19
- # 1. No wavelength provided, expect valid tth values in degrees with wavelength UserWarning
20
- (
19
+ ( # 1. No wavelength provided, expect valid tth values in degrees with wavelength UserWarning
21
20
None ,
22
21
np .array ([0 , 0.2 , 0.4 , 0.6 , 0.8 , 1 ]),
23
22
np .array ([0 , 1 , 2 , 3 , 4 , 5 ]),
24
23
),
25
- # 2. Wavelength provided, expect tth values of 2*arcsin(q) in degrees
26
- (4 * np .pi , np .array ([0 , 1 / np .sqrt (2 ), 1.0 ]), np .array ([0 , 90.0 , 180.0 ])),
24
+ ( # 2. Wavelength provided, expect tth values of 2*arcsin(q) in degrees
25
+ 4 * np .pi ,
26
+ np .array ([0 , 1 / np .sqrt (2 ), 1.0 ]),
27
+ np .array ([0 , 90.0 , 180.0 ]),
28
+ ),
27
29
],
28
30
)
29
31
def test_q_to_tth (wavelength , q , expected_tth , wavelength_warning_msg ):
@@ -39,14 +41,12 @@ def test_q_to_tth(wavelength, q, expected_tth, wavelength_warning_msg):
39
41
"wavelength, q, expected_error_type" ,
40
42
[
41
43
# Test ValeuError in q to tth conversion with invalid two-theta values.
42
- # C1: Invalid q values that result in tth > 180 degrees, expect ValueError
43
- (
44
+ ( # C1: Invalid q values that result in tth > 180 degrees, expect ValueError
44
45
4 * np .pi ,
45
46
np .array ([0.2 , 0.4 , 0.6 , 0.8 , 1 , 1.2 ]),
46
47
ValueError ,
47
48
),
48
- # C2: Wrong wavelength that results in tth > 180 degrees, expect ValueError
49
- (
49
+ ( # C2: Wrong wavelength that results in tth > 180 degrees, expect ValueError
50
50
100 ,
51
51
np .array ([0 , 0.2 , 0.4 , 0.6 , 0.8 , 1 ]),
52
52
ValueError ,
@@ -69,14 +69,12 @@ def test_q_to_tth_bad(wavelength, q, expected_error_type, invalid_q_or_d_or_wave
69
69
# 2. No wavelength provided, expected empty array of q and wavelength UserWarning
70
70
(4 * np .pi , np .array ([]), np .array ([])),
71
71
# C2: Use non-empty tth values between 0-180 degrees to compute q, with or without wavelength
72
- # 1. No wavelength provided, expect valid q values between 0-1
73
- (
72
+ ( # 1. No wavelength provided, expect valid q values between 0-1
74
73
None ,
75
74
np .array ([0 , 30 , 60 , 90 , 120 , 180 ]),
76
75
np .array ([0 , 1 , 2 , 3 , 4 , 5 ]),
77
76
),
78
- # 2. Wavelength provided, expect expected q values are sin15, sin30, sin45, sin60, sin90
79
- (
77
+ ( # 2. Wavelength provided, expect expected q values are sin15, sin30, sin45, sin60, sin90
80
78
4 * np .pi ,
81
79
np .array ([0 , 30.0 , 60.0 , 90.0 , 120.0 , 180.0 ]),
82
80
np .array ([0 , 0.258819 , 0.5 , 0.707107 , 0.866025 , 1 ]),
@@ -97,15 +95,13 @@ def test_tth_to_q(wavelength, tth, expected_q, wavelength_warning_msg):
97
95
"wavelength, tth, expected_error_type, expected_error_msg" ,
98
96
[
99
97
# C1: Invalid tth value of > 180 degrees provided, with or without wavelength
100
- # 1. No wavelength provided, expect two theta ValueError
101
- (
98
+ ( # 1. No wavelength provided, expect two theta ValueError
102
99
None ,
103
100
np .array ([0 , 30 , 60 , 90 , 120 , 181 ]),
104
101
ValueError ,
105
102
"Two theta exceeds 180 degrees. Please check the input values for errors." ,
106
103
),
107
- # 2. Wavelength provided, expect two theta ValueError
108
- (
104
+ ( # 2. Wavelength provided, expect two theta ValueError
109
105
4 * np .pi ,
110
106
np .array ([0 , 30 , 60 , 90 , 120 , 181 ]),
111
107
ValueError ,
@@ -125,14 +121,12 @@ def test_tth_to_q_bad(wavelength, tth, expected_error_type, expected_error_msg):
125
121
# C1: Empty q values, expect empty d values
126
122
(np .array ([]), np .array ([]), False ),
127
123
# C2:
128
- # 1. Valid q values, expect d values without warning
129
- (
124
+ ( # 1. Valid q values, expect d values without warning
130
125
np .array ([0.1 , 1 * np .pi , 2 * np .pi , 3 * np .pi , 4 * np .pi , 5 * np .pi ]),
131
126
np .array ([62.83185307 , 2 , 1 , 0.66667 , 0.5 , 0.4 ]),
132
127
False ,
133
128
),
134
- # 2. Valid q values containing 0, expect d values with divide by zero warning
135
- (
129
+ ( # 2. Valid q values containing 0, expect d values with divide by zero warning
136
130
np .array ([0 , 1 * np .pi , 2 * np .pi , 3 * np .pi , 4 * np .pi , 5 * np .pi ]),
137
131
np .array ([np .inf , 2 , 1 , 0.66667 , 0.5 , 0.4 ]),
138
132
True ,
@@ -180,8 +174,7 @@ def test_d_to_q(d, expected_q, zero_divide_error_expected):
180
174
(4 * np .pi , np .array ([]), np .array ([]), False ),
181
175
# C3: User specified valid tth values between 0-180 degrees (without wavelength)
182
176
(None , np .array ([0 , 30 , 60 , 90 , 120 , 180 ]), np .array ([0 , 1 , 2 , 3 , 4 , 5 ]), False ),
183
- # C4: User specified valid tth values between 0-180 degrees (with wavelength)
184
- (
177
+ ( # C4: User specified valid tth values between 0-180 degrees (with wavelength)
185
178
4 * np .pi ,
186
179
np .array ([0 , 30.0 , 60.0 , 90.0 , 120.0 , 180.0 ]),
187
180
np .array ([np .inf , 24.27636 , 12.56637 , 8.88577 , 7.25520 , 6.28319 ]),
@@ -204,15 +197,13 @@ def test_tth_to_d(wavelength, tth, expected_d, divide_by_zero_warning_expected,
204
197
@pytest .mark .parametrize (
205
198
"wavelength, tth, expected_error_type, expected_error_msg" ,
206
199
[
207
- # C1: Invalid tth value of > 180 degrees, no wavelength, expect two theta ValueError
208
- (
200
+ ( # C1: Invalid tth value of > 180 degrees, no wavelength, expect two theta ValueError
209
201
None ,
210
202
np .array ([0 , 30 , 60 , 90 , 120 , 181 ]),
211
203
ValueError ,
212
204
"Two theta exceeds 180 degrees. Please check the input values for errors." ,
213
205
),
214
- # C2: Invalid tth value of > 180 degrees with wavelength, expect two theta ValueError
215
- (
206
+ ( # C2: Invalid tth value of > 180 degrees with wavelength, expect two theta ValueError
216
207
4 * np .pi ,
217
208
np .array ([0 , 30 , 60 , 90 , 120 , 181 ]),
218
209
ValueError ,
@@ -234,8 +225,7 @@ def test_tth_to_d_invalid(wavelength, tth, expected_error_type, expected_error_m
234
225
(4 * np .pi , np .empty ((0 )), np .empty (0 ), False ),
235
226
# C3: Valid d values, no wavelength, expect valid and non-empty tth values
236
227
(None , np .array ([1 , 0.8 , 0.6 , 0.4 , 0.2 , 0 ]), np .array ([0 , 1 , 2 , 3 , 4 , 5 ]), True ),
237
- # C4: Valid d values with wavelength, expect valid and non-empty thh values
238
- (
228
+ ( # C4: Valid d values with wavelength, expect valid and non-empty thh values
239
229
4 * np .pi ,
240
230
np .array ([4 * np .pi , 4 / np .sqrt (2 ) * np .pi , 4 / np .sqrt (3 ) * np .pi ]),
241
231
np .array ([60.0 , 90.0 , 120.0 ]),
0 commit comments