Remove two Pytest warnings due to numpy and pytest mocker in test_dump function#112
Conversation
bobleesj
left a comment
There was a problem hiding this comment.
Ready for review
I hope I get this right - the software behavior is expected to return a Runtime warning message from the input of 1.54. So we capture that warning message? @sbillinge |
| test.insert_scattering_quantity( | ||
| x, y, "q", metadata={"thing1": 1, "thing2": "thing2", "package_info": {"package2": "3.4.5"}} | ||
| ) | ||
|
|
I see. You want the code to return a warning if the user inputs a wavelength of 1.54? Why do you want the code to do that? Is 1.54 somehow invalid as a wavelength? Actually, 1.54 is Cu K_alpha wavelength. It is one of the most commonly used x-ray wavelengths in the world. I think it is a perfectly valid wavelength, or am I missing something. |
bobleesj
left a comment
There was a problem hiding this comment.
@sbillinge ready for review - once merged. we can do 3.12 (recut) pypi release
|
|
||
| def test_dump(tmp_path, mocker): | ||
| x, y = np.linspace(0, 10, 11), np.linspace(0, 10, 11) | ||
| x, y = np.linspace(0, 5, 6), np.linspace(0, 5, 6) |
There was a problem hiding this comment.
To recollect our memory: we had this invalid value warning:
RuntimeWarning: invalid value encountered in arcsin
print(np.rad2deg(2.0 * np.arcsin(q * pre_factor)))
Problem:
In our dummy test_dump function:
The code sets arbitrary q values as:
# x, y = np.linspace(0, 10, 11), np.linspace(0, 10, 11) sets q
# q = np.asarray(q)
# print(q)
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
Hence, when we try to convert q to two-theta, using test.wavelength = 1.54:
print(np.rad2deg(2.0 * np.arcsin(q * pre_factor)))
[ 0. 14.07850645 28.37532297 43.14126254 58.70709081
75.57672216 94.66443973 118.15097974 157.27157928 nan
nan]
We have nan values.
Solution:
Just simply use the valid q range from 0 to 6, etc.
|
@sbillinge applied pre-commit - ready for review |


Closes #133