From 1ee215716b2a30b5230519a266f4eb3d719faf1d Mon Sep 17 00:00:00 2001 From: Sangjoon Bob Lee Date: Sat, 14 Dec 2024 14:22:35 -0500 Subject: [PATCH 1/2] Refactor test_on_xtype using a minimal do defined in conftest --- tests/conftest.py | 8 ++++++++ tests/test_diffraction_objects.py | 20 ++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 09de40f6..c0767b49 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,8 +1,11 @@ import json from pathlib import Path +import numpy as np import pytest +from diffpy.utils.diffraction_objects import DiffractionObject + @pytest.fixture def user_filesystem(tmp_path): @@ -28,3 +31,8 @@ def _load(filename): return base_path / filename return _load + + +@pytest.fixture +def do_minimal_tth(): + return DiffractionObject(wavelength=2 * np.pi, xarray=np.array([30, 60]), yarray=np.array([1, 2]), xtype="tth") diff --git a/tests/test_diffraction_objects.py b/tests/test_diffraction_objects.py index 65519eac..74e0e3cd 100644 --- a/tests/test_diffraction_objects.py +++ b/tests/test_diffraction_objects.py @@ -163,12 +163,20 @@ def test_diffraction_objects_equality(inputs1, inputs2, expected): assert (do_1 == do_2) == expected -def test_on_xtype(): - do = DiffractionObject(wavelength=2 * np.pi, xarray=np.array([30, 60]), yarray=np.array([1, 2]), xtype="tth") - assert np.allclose(do.on_xtype("tth"), [np.array([30, 60]), np.array([1, 2])]) - assert np.allclose(do.on_xtype("2theta"), [np.array([30, 60]), np.array([1, 2])]) - assert np.allclose(do.on_xtype("q"), [np.array([0.51764, 1]), np.array([1, 2])]) - assert np.allclose(do.on_xtype("d"), [np.array([12.13818, 6.28319]), np.array([1, 2])]) +@pytest.mark.parametrize( + "input_xtype, expected_xarray", + [ + ("tth", np.array([30, 60])), + ("2theta", np.array([30, 60])), + ("q", np.array([0.51764, 1])), + ("d", np.array([12.13818, 6.28319])), + ], +) +def test_on_xtype(input_xtype, expected_xarray, do_minimal_tth): + do = do_minimal_tth + result = do.on_xtype(input_xtype) + assert np.allclose(result[0], expected_xarray) + assert np.allclose(result[1], np.array([1, 2])) def test_init_invalid_xtype(): From 8053d315c22c9454c2071e35c1b17b9a24d8b57c Mon Sep 17 00:00:00 2001 From: Sangjoon Bob Lee Date: Sat, 14 Dec 2024 14:30:11 -0500 Subject: [PATCH 2/2] improve test variable name --- tests/test_diffraction_objects.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_diffraction_objects.py b/tests/test_diffraction_objects.py index 74e0e3cd..4d210e3e 100644 --- a/tests/test_diffraction_objects.py +++ b/tests/test_diffraction_objects.py @@ -164,7 +164,7 @@ def test_diffraction_objects_equality(inputs1, inputs2, expected): @pytest.mark.parametrize( - "input_xtype, expected_xarray", + "xtype, expected_xarray", [ ("tth", np.array([30, 60])), ("2theta", np.array([30, 60])), @@ -172,11 +172,11 @@ def test_diffraction_objects_equality(inputs1, inputs2, expected): ("d", np.array([12.13818, 6.28319])), ], ) -def test_on_xtype(input_xtype, expected_xarray, do_minimal_tth): +def test_on_xtype(xtype, expected_xarray, do_minimal_tth): do = do_minimal_tth - result = do.on_xtype(input_xtype) - assert np.allclose(result[0], expected_xarray) - assert np.allclose(result[1], np.array([1, 2])) + actual_xrray, actual_yarray = do.on_xtype(xtype) + assert np.allclose(actual_xrray, expected_xarray) + assert np.allclose(actual_yarray, np.array([1, 2])) def test_init_invalid_xtype():