From 67ff5f9bec1d1e229908110d2d9bc210729380bd Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Wed, 31 Mar 2021 08:48:29 -0700 Subject: [PATCH 1/3] convert test dirs to packages --- pvlib/tests/__init__.py | 0 pvlib/tests/iotools/__init__.py | 0 pvlib/tests/iotools/test_bsrn.py | 2 +- pvlib/tests/iotools/test_crn.py | 3 +-- pvlib/tests/iotools/test_ecmwf_macc.py | 2 +- pvlib/tests/iotools/test_epw.py | 2 +- pvlib/tests/iotools/test_midc.py | 2 +- pvlib/tests/iotools/test_psm3.py | 2 +- pvlib/tests/iotools/test_pvgis.py | 2 +- pvlib/tests/iotools/test_solrad.py | 3 +-- pvlib/tests/iotools/test_srml.py | 2 +- pvlib/tests/iotools/test_surfrad.py | 2 +- pvlib/tests/iotools/test_tmy.py | 2 +- pvlib/tests/ivtools/__init__.py | 0 pvlib/tests/ivtools/test_sdm.py | 2 +- pvlib/tests/ivtools/test_utils.py | 2 +- pvlib/tests/test_atmosphere.py | 2 +- pvlib/tests/test_bifacial.py | 2 +- pvlib/tests/test_clearsky.py | 4 ++-- pvlib/tests/test_conftest.py | 4 ++-- pvlib/tests/test_forecast.py | 4 ++-- pvlib/tests/test_iam.py | 2 +- pvlib/tests/test_inverter.py | 4 ++-- pvlib/tests/test_irradiance.py | 2 +- pvlib/tests/test_location.py | 12 ++++++------ pvlib/tests/test_modelchain.py | 4 ++-- pvlib/tests/test_numerical_precision.py | 2 +- pvlib/tests/test_pvsystem.py | 2 +- pvlib/tests/test_snow.py | 2 +- pvlib/tests/test_soiling.py | 4 ++-- pvlib/tests/test_solarposition.py | 4 ++-- pvlib/tests/test_spectrum.py | 2 +- pvlib/tests/test_temperature.py | 2 +- pvlib/tests/test_tracking.py | 2 +- 34 files changed, 43 insertions(+), 45 deletions(-) create mode 100644 pvlib/tests/__init__.py create mode 100644 pvlib/tests/iotools/__init__.py create mode 100644 pvlib/tests/ivtools/__init__.py diff --git a/pvlib/tests/__init__.py b/pvlib/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pvlib/tests/iotools/__init__.py b/pvlib/tests/iotools/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pvlib/tests/iotools/test_bsrn.py b/pvlib/tests/iotools/test_bsrn.py index 291f6f02c4..18d4be60f7 100644 --- a/pvlib/tests/iotools/test_bsrn.py +++ b/pvlib/tests/iotools/test_bsrn.py @@ -7,7 +7,7 @@ import pytest from pvlib.iotools import bsrn -from conftest import DATA_DIR, assert_index_equal +from ..conftest import DATA_DIR, assert_index_equal @pytest.mark.parametrize('testfile,expected_index', [ diff --git a/pvlib/tests/iotools/test_crn.py b/pvlib/tests/iotools/test_crn.py index 90da53bf9b..f974e8961f 100644 --- a/pvlib/tests/iotools/test_crn.py +++ b/pvlib/tests/iotools/test_crn.py @@ -1,10 +1,9 @@ import pandas as pd -from conftest import assert_frame_equal import numpy as np from numpy import dtype, nan import pytest from pvlib.iotools import crn -from conftest import DATA_DIR +from ..conftest import DATA_DIR, assert_frame_equal @pytest.fixture diff --git a/pvlib/tests/iotools/test_ecmwf_macc.py b/pvlib/tests/iotools/test_ecmwf_macc.py index 6cfa0e39e5..4537d22203 100644 --- a/pvlib/tests/iotools/test_ecmwf_macc.py +++ b/pvlib/tests/iotools/test_ecmwf_macc.py @@ -6,7 +6,7 @@ import datetime import numpy as np import pytest -from conftest import requires_netCDF4, DATA_DIR +from ..conftest import requires_netCDF4, DATA_DIR from pvlib.iotools import ecmwf_macc TESTDATA = 'aod550_tcwv_20121101_test.nc' diff --git a/pvlib/tests/iotools/test_epw.py b/pvlib/tests/iotools/test_epw.py index ae5d437ce4..8abae74e99 100644 --- a/pvlib/tests/iotools/test_epw.py +++ b/pvlib/tests/iotools/test_epw.py @@ -1,7 +1,7 @@ import pytest from pvlib.iotools import epw -from conftest import DATA_DIR, RERUNS, RERUNS_DELAY +from ..conftest import DATA_DIR, RERUNS, RERUNS_DELAY epw_testfile = DATA_DIR / 'NLD_Amsterdam062400_IWEC.epw' diff --git a/pvlib/tests/iotools/test_midc.py b/pvlib/tests/iotools/test_midc.py index 66e003b51f..1c5c38b6a2 100644 --- a/pvlib/tests/iotools/test_midc.py +++ b/pvlib/tests/iotools/test_midc.py @@ -3,7 +3,7 @@ import pytz from pvlib.iotools import midc -from conftest import DATA_DIR, RERUNS, RERUNS_DELAY +from ..conftest import DATA_DIR, RERUNS, RERUNS_DELAY @pytest.fixture diff --git a/pvlib/tests/iotools/test_psm3.py b/pvlib/tests/iotools/test_psm3.py index d99e11587d..ca3a5e3034 100644 --- a/pvlib/tests/iotools/test_psm3.py +++ b/pvlib/tests/iotools/test_psm3.py @@ -4,7 +4,7 @@ import os from pvlib.iotools import psm3 -from conftest import DATA_DIR, RERUNS, RERUNS_DELAY +from ..conftest import DATA_DIR, RERUNS, RERUNS_DELAY import numpy as np import pandas as pd import pytest diff --git a/pvlib/tests/iotools/test_pvgis.py b/pvlib/tests/iotools/test_pvgis.py index 0dce09328c..314303e06e 100644 --- a/pvlib/tests/iotools/test_pvgis.py +++ b/pvlib/tests/iotools/test_pvgis.py @@ -7,7 +7,7 @@ import pytest import requests from pvlib.iotools import get_pvgis_tmy, read_pvgis_tmy -from conftest import DATA_DIR, RERUNS, RERUNS_DELAY +from ..conftest import DATA_DIR, RERUNS, RERUNS_DELAY @pytest.fixture diff --git a/pvlib/tests/iotools/test_solrad.py b/pvlib/tests/iotools/test_solrad.py index 9a3494f250..f8f97af41f 100644 --- a/pvlib/tests/iotools/test_solrad.py +++ b/pvlib/tests/iotools/test_solrad.py @@ -1,12 +1,11 @@ import pandas as pd -from conftest import assert_frame_equal import numpy as np from numpy import nan import pytest from pvlib.iotools import solrad -from conftest import DATA_DIR +from ..conftest import DATA_DIR, assert_frame_equal testfile = DATA_DIR / 'abq19056.dat' diff --git a/pvlib/tests/iotools/test_srml.py b/pvlib/tests/iotools/test_srml.py index 3ffbe4ca7c..556bd7111d 100644 --- a/pvlib/tests/iotools/test_srml.py +++ b/pvlib/tests/iotools/test_srml.py @@ -3,7 +3,7 @@ import pytest from pvlib.iotools import srml -from conftest import DATA_DIR, RERUNS, RERUNS_DELAY +from ..conftest import DATA_DIR, RERUNS, RERUNS_DELAY srml_testfile = DATA_DIR / 'SRML-day-EUPO1801.txt' diff --git a/pvlib/tests/iotools/test_surfrad.py b/pvlib/tests/iotools/test_surfrad.py index 498604970c..6ef9fcab51 100644 --- a/pvlib/tests/iotools/test_surfrad.py +++ b/pvlib/tests/iotools/test_surfrad.py @@ -2,7 +2,7 @@ import pytest from pvlib.iotools import surfrad -from conftest import DATA_DIR, RERUNS, RERUNS_DELAY +from ..conftest import DATA_DIR, RERUNS, RERUNS_DELAY testfile = DATA_DIR / 'surfrad-slv16001.dat' network_testfile = ('ftp://aftp.cmdl.noaa.gov/data/radiation/surfrad/' diff --git a/pvlib/tests/iotools/test_tmy.py b/pvlib/tests/iotools/test_tmy.py index 566744c702..d8c1c6efcb 100644 --- a/pvlib/tests/iotools/test_tmy.py +++ b/pvlib/tests/iotools/test_tmy.py @@ -1,7 +1,7 @@ import numpy as np import pandas as pd from pvlib.iotools import tmy -from conftest import DATA_DIR +from ..conftest import DATA_DIR # test the API works from pvlib.iotools import read_tmy3 diff --git a/pvlib/tests/ivtools/__init__.py b/pvlib/tests/ivtools/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pvlib/tests/ivtools/test_sdm.py b/pvlib/tests/ivtools/test_sdm.py index c1df6b1e50..13bab1ecde 100644 --- a/pvlib/tests/ivtools/test_sdm.py +++ b/pvlib/tests/ivtools/test_sdm.py @@ -9,7 +9,7 @@ from pvlib.tests.conftest import requires_pysam, requires_statsmodels -from conftest import DATA_DIR +from ..conftest import DATA_DIR @pytest.fixture diff --git a/pvlib/tests/ivtools/test_utils.py b/pvlib/tests/ivtools/test_utils.py index c3e6b20a93..8f7826bdc2 100644 --- a/pvlib/tests/ivtools/test_utils.py +++ b/pvlib/tests/ivtools/test_utils.py @@ -4,7 +4,7 @@ from pvlib.ivtools.utils import _numdiff, rectify_iv_curve from pvlib.ivtools.utils import _schumaker_qspline -from conftest import DATA_DIR +from ..conftest import DATA_DIR @pytest.fixture diff --git a/pvlib/tests/test_atmosphere.py b/pvlib/tests/test_atmosphere.py index c23827a4d6..69bb3215dc 100644 --- a/pvlib/tests/test_atmosphere.py +++ b/pvlib/tests/test_atmosphere.py @@ -4,7 +4,7 @@ from numpy import nan from numpy.testing import assert_allclose import pandas as pd -from conftest import assert_series_equal +from .conftest import assert_series_equal import pytest from pvlib import atmosphere diff --git a/pvlib/tests/test_bifacial.py b/pvlib/tests/test_bifacial.py index 925d9be4de..25542c4869 100644 --- a/pvlib/tests/test_bifacial.py +++ b/pvlib/tests/test_bifacial.py @@ -1,7 +1,7 @@ import pandas as pd from datetime import datetime from pvlib.bifacial import pvfactors_timeseries -from conftest import requires_pvfactors, assert_series_equal +from .conftest import requires_pvfactors, assert_series_equal import pytest diff --git a/pvlib/tests/test_clearsky.py b/pvlib/tests/test_clearsky.py index fd886f224c..b4db32355a 100644 --- a/pvlib/tests/test_clearsky.py +++ b/pvlib/tests/test_clearsky.py @@ -8,7 +8,7 @@ import pytest from numpy.testing import assert_allclose -from conftest import assert_frame_equal, assert_series_equal +from .conftest import assert_frame_equal, assert_series_equal from pvlib.location import Location from pvlib import clearsky @@ -16,7 +16,7 @@ from pvlib import atmosphere from pvlib import irradiance -from conftest import requires_tables, DATA_DIR +from .conftest import requires_tables, DATA_DIR def test_ineichen_series(): diff --git a/pvlib/tests/test_conftest.py b/pvlib/tests/test_conftest.py index 1efa0b62b3..a42d28d463 100644 --- a/pvlib/tests/test_conftest.py +++ b/pvlib/tests/test_conftest.py @@ -1,8 +1,8 @@ import pytest import pandas -import conftest -from conftest import fail_on_pvlib_version +from pvlib.tests import conftest +from pvlib.tests.conftest import fail_on_pvlib_version from pvlib._deprecation import pvlibDeprecationWarning, deprecated diff --git a/pvlib/tests/test_forecast.py b/pvlib/tests/test_forecast.py index ff14de7629..db2ed75154 100644 --- a/pvlib/tests/test_forecast.py +++ b/pvlib/tests/test_forecast.py @@ -6,13 +6,13 @@ import pytest from numpy.testing import assert_allclose -from conftest import ( +from .conftest import ( requires_siphon, has_siphon, skip_windows, requires_recent_cftime ) -from conftest import RERUNS, RERUNS_DELAY +from .conftest import RERUNS, RERUNS_DELAY pytestmark = pytest.mark.skipif(not has_siphon, reason='requires siphon') diff --git a/pvlib/tests/test_iam.py b/pvlib/tests/test_iam.py index 1156fa28fa..4310ee837a 100644 --- a/pvlib/tests/test_iam.py +++ b/pvlib/tests/test_iam.py @@ -8,7 +8,7 @@ import pandas as pd import pytest -from conftest import assert_series_equal +from .conftest import assert_series_equal from numpy.testing import assert_allclose from pvlib import iam as _iam diff --git a/pvlib/tests/test_inverter.py b/pvlib/tests/test_inverter.py index af241ef220..9717a7ba4a 100644 --- a/pvlib/tests/test_inverter.py +++ b/pvlib/tests/test_inverter.py @@ -1,10 +1,10 @@ import numpy as np import pandas as pd -from conftest import assert_series_equal +from .conftest import assert_series_equal from numpy.testing import assert_allclose -from conftest import DATA_DIR +from .conftest import DATA_DIR import pytest from pvlib import inverter diff --git a/pvlib/tests/test_irradiance.py b/pvlib/tests/test_irradiance.py index ba5821f750..f11897d8e6 100644 --- a/pvlib/tests/test_irradiance.py +++ b/pvlib/tests/test_irradiance.py @@ -11,7 +11,7 @@ from pvlib import irradiance -from conftest import ( +from .conftest import ( assert_frame_equal, assert_series_equal, requires_ephem, diff --git a/pvlib/tests/test_location.py b/pvlib/tests/test_location.py index 404426c996..4944023e8c 100644 --- a/pvlib/tests/test_location.py +++ b/pvlib/tests/test_location.py @@ -4,7 +4,7 @@ import numpy as np from numpy import nan import pandas as pd -from conftest import assert_frame_equal, assert_index_equal +from .conftest import assert_frame_equal, assert_index_equal import pytest @@ -15,8 +15,8 @@ from pvlib.location import Location from pvlib.solarposition import declination_spencer71 from pvlib.solarposition import equation_of_time_spencer71 -from test_solarposition import expected_solpos, golden, golden_mst -from conftest import requires_ephem, requires_tables, fail_on_pvlib_version +from pvlib.tests.test_solarposition import expected_solpos, golden, golden_mst +from .conftest import requires_ephem, requires_tables, fail_on_pvlib_version def test_location_required(): @@ -212,7 +212,7 @@ def test_get_clearsky_valueerror(times): def test_from_tmy_3(): - from test_tmy import TMY3_TESTFILE + from pvlib.tests.iotools.test_tmy import TMY3_TESTFILE from pvlib.iotools import read_tmy3 data, meta = read_tmy3(TMY3_TESTFILE) loc = Location.from_tmy(meta, data) @@ -223,7 +223,7 @@ def test_from_tmy_3(): def test_from_tmy_2(): - from test_tmy import TMY2_TESTFILE + from pvlib.tests.iotools.test_tmy import TMY2_TESTFILE from pvlib.iotools import read_tmy2 data, meta = read_tmy2(TMY2_TESTFILE) loc = Location.from_tmy(meta, data) @@ -234,7 +234,7 @@ def test_from_tmy_2(): def test_from_epw(): - from test_epw import epw_testfile + from pvlib.tests.iotools.test_epw import epw_testfile from pvlib.iotools import read_epw data, meta = read_epw(epw_testfile) loc = Location.from_epw(meta, data) diff --git a/pvlib/tests/test_modelchain.py b/pvlib/tests/test_modelchain.py index fd3b417e33..3652fc097a 100644 --- a/pvlib/tests/test_modelchain.py +++ b/pvlib/tests/test_modelchain.py @@ -10,10 +10,10 @@ from pvlib.location import Location from pvlib._deprecation import pvlibDeprecationWarning -from conftest import assert_series_equal, assert_frame_equal +from .conftest import assert_series_equal, assert_frame_equal import pytest -from conftest import fail_on_pvlib_version, requires_tables +from .conftest import fail_on_pvlib_version, requires_tables @pytest.fixture(scope='function') diff --git a/pvlib/tests/test_numerical_precision.py b/pvlib/tests/test_numerical_precision.py index c29440f25b..53f535401a 100644 --- a/pvlib/tests/test_numerical_precision.py +++ b/pvlib/tests/test_numerical_precision.py @@ -21,7 +21,7 @@ import pandas as pd from pvlib import pvsystem from pvlib.singlediode import bishop88, estimate_voc -from conftest import DATA_DIR +from .conftest import DATA_DIR logging.basicConfig() LOGGER = logging.getLogger(__name__) diff --git a/pvlib/tests/test_pvsystem.py b/pvlib/tests/test_pvsystem.py index cbb98996af..2d20660b98 100644 --- a/pvlib/tests/test_pvsystem.py +++ b/pvlib/tests/test_pvsystem.py @@ -5,7 +5,7 @@ import pandas as pd import pytest -from conftest import ( +from .conftest import ( assert_series_equal, assert_frame_equal, fail_on_pvlib_version) from numpy.testing import assert_allclose import unittest.mock as mock diff --git a/pvlib/tests/test_snow.py b/pvlib/tests/test_snow.py index c93cfc8f82..3db56c8f61 100644 --- a/pvlib/tests/test_snow.py +++ b/pvlib/tests/test_snow.py @@ -1,7 +1,7 @@ import numpy as np import pandas as pd -from conftest import assert_series_equal +from .conftest import assert_series_equal from pvlib import snow from pvlib.tools import sind diff --git a/pvlib/tests/test_soiling.py b/pvlib/tests/test_soiling.py index 9e42f54fdb..efa44b0e1c 100644 --- a/pvlib/tests/test_soiling.py +++ b/pvlib/tests/test_soiling.py @@ -3,10 +3,10 @@ import datetime import numpy as np import pandas as pd -from conftest import assert_series_equal +from .conftest import assert_series_equal from pvlib.soiling import hsu, kimber from pvlib.iotools import read_tmy3 -from conftest import DATA_DIR +from .conftest import DATA_DIR import pytest diff --git a/pvlib/tests/test_solarposition.py b/pvlib/tests/test_solarposition.py index 3d29749fb2..a9972c7180 100644 --- a/pvlib/tests/test_solarposition.py +++ b/pvlib/tests/test_solarposition.py @@ -5,14 +5,14 @@ import numpy as np import pandas as pd -from conftest import assert_frame_equal, assert_series_equal +from .conftest import assert_frame_equal, assert_series_equal from numpy.testing import assert_allclose import pytest from pvlib.location import Location from pvlib import solarposition, spa -from conftest import requires_ephem, requires_spa_c, requires_numba +from .conftest import requires_ephem, requires_spa_c, requires_numba # setup times and locations to be tested. diff --git a/pvlib/tests/test_spectrum.py b/pvlib/tests/test_spectrum.py index a28ceca06c..657fa2675d 100644 --- a/pvlib/tests/test_spectrum.py +++ b/pvlib/tests/test_spectrum.py @@ -3,7 +3,7 @@ import pandas as pd import numpy as np from pvlib import spectrum -from conftest import DATA_DIR +from .conftest import DATA_DIR SPECTRL2_TEST_DATA = DATA_DIR / 'spectrl2_example_spectra.csv' diff --git a/pvlib/tests/test_temperature.py b/pvlib/tests/test_temperature.py index 4c8574ffe6..231b34d1aa 100644 --- a/pvlib/tests/test_temperature.py +++ b/pvlib/tests/test_temperature.py @@ -2,7 +2,7 @@ import numpy as np import pytest -from conftest import DATA_DIR, assert_series_equal +from .conftest import DATA_DIR, assert_series_equal from numpy.testing import assert_allclose from pvlib import temperature, tools diff --git a/pvlib/tests/test_tracking.py b/pvlib/tests/test_tracking.py index 248e3e3d53..b6ae20ca67 100644 --- a/pvlib/tests/test_tracking.py +++ b/pvlib/tests/test_tracking.py @@ -7,7 +7,7 @@ import pvlib from pvlib import tracking, pvsystem -from conftest import DATA_DIR, assert_frame_equal +from .conftest import DATA_DIR, assert_frame_equal SINGLEAXIS_COL_ORDER = ['tracker_theta', 'aoi', 'surface_azimuth', 'surface_tilt'] From ca7f498a2de6cc2e4e099a338c14266dfd93f1c5 Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Wed, 31 Mar 2021 09:42:20 -0700 Subject: [PATCH 2/3] fix cross module import of fixture in test_location --- pvlib/tests/conftest.py | 20 ++++++++++++++++ pvlib/tests/test_location.py | 3 +-- pvlib/tests/test_solarposition.py | 39 ++++++++----------------------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/pvlib/tests/conftest.py b/pvlib/tests/conftest.py index aa04af406d..95d0f725d9 100644 --- a/pvlib/tests/conftest.py +++ b/pvlib/tests/conftest.py @@ -8,6 +8,7 @@ from functools import wraps import pvlib +from pvlib.location import Location pvlib_base_version = \ parse_version(parse_version(pvlib.__version__).base_version) @@ -187,6 +188,25 @@ def has_numba(): ) +@pytest.fixture() +def golden(): + return Location(39.742476, -105.1786, 'America/Denver', 1830.14) + + +@pytest.fixture() +def golden_mst(): + return Location(39.742476, -105.1786, 'MST', 1830.14) + + +@pytest.fixture() +def expected_solpos(): + return pd.DataFrame({'elevation': 39.872046, + 'apparent_zenith': 50.111622, + 'azimuth': 194.340241, + 'apparent_elevation': 39.888378}, + index=['2003-10-17T12:30:30Z']) + + @pytest.fixture(scope="session") def sam_data(): data = {} diff --git a/pvlib/tests/test_location.py b/pvlib/tests/test_location.py index 4944023e8c..20a849a667 100644 --- a/pvlib/tests/test_location.py +++ b/pvlib/tests/test_location.py @@ -15,8 +15,7 @@ from pvlib.location import Location from pvlib.solarposition import declination_spencer71 from pvlib.solarposition import equation_of_time_spencer71 -from pvlib.tests.test_solarposition import expected_solpos, golden, golden_mst -from .conftest import requires_ephem, requires_tables, fail_on_pvlib_version +from .conftest import requires_ephem, requires_tables def test_location_required(): diff --git a/pvlib/tests/test_solarposition.py b/pvlib/tests/test_solarposition.py index a9972c7180..513a7f18d1 100644 --- a/pvlib/tests/test_solarposition.py +++ b/pvlib/tests/test_solarposition.py @@ -25,31 +25,6 @@ tol = 5 -@pytest.fixture() -def golden(): - return Location(39.742476, -105.1786, 'America/Denver', 1830.14) - - -@pytest.fixture() -def golden_mst(): - return Location(39.742476, -105.1786, 'MST', 1830.14) - - -@pytest.fixture() -def expected_solpos(): - return _expected_solpos_df() - - -# hack to make tests work without too much modification while avoiding -# pytest 4.0 inability to call features directly -def _expected_solpos_df(): - return pd.DataFrame({'elevation': 39.872046, - 'apparent_zenith': 50.111622, - 'azimuth': 194.340241, - 'apparent_elevation': 39.888378}, - index=['2003-10-17T12:30:30Z']) - - @pytest.fixture() def expected_solpos_multi(): return pd.DataFrame({'elevation': [39.872046, 39.505196], @@ -455,7 +430,7 @@ def test_get_solarposition_error(golden): @pytest.mark.parametrize("pressure, expected", [ - (82000, _expected_solpos_df()), + (82000, 'expected_solpos'), (90000, pd.DataFrame( np.array([[39.88997, 50.11003, 194.34024, 39.87205, 14.64151, 50.12795]]), @@ -463,13 +438,16 @@ def test_get_solarposition_error(golden): 'elevation', 'equation_of_time', 'zenith'], index=['2003-10-17T12:30:30Z'])) ]) -def test_get_solarposition_pressure(pressure, expected, golden): +def test_get_solarposition_pressure( + pressure, expected, golden, expected_solpos): times = pd.date_range(datetime.datetime(2003, 10, 17, 13, 30, 30), periods=1, freq='D', tz=golden.tz) ephem_data = solarposition.get_solarposition(times, golden.latitude, golden.longitude, pressure=pressure, temperature=11) + if isinstance(expected, str) and expected == 'expected_solpos': + expected = expected_solpos this_expected = expected.copy() this_expected.index = times this_expected = np.round(this_expected, 5) @@ -478,7 +456,7 @@ def test_get_solarposition_pressure(pressure, expected, golden): @pytest.mark.parametrize("altitude, expected", [ - (1830.14, _expected_solpos_df()), + (1830.14, 'expected_solpos'), (2000, pd.DataFrame( np.array([[39.88788, 50.11212, 194.34024, 39.87205, 14.64151, 50.12795]]), @@ -486,13 +464,16 @@ def test_get_solarposition_pressure(pressure, expected, golden): 'elevation', 'equation_of_time', 'zenith'], index=['2003-10-17T12:30:30Z'])) ]) -def test_get_solarposition_altitude(altitude, expected, golden): +def test_get_solarposition_altitude( + altitude, expected, golden, expected_solpos): times = pd.date_range(datetime.datetime(2003, 10, 17, 13, 30, 30), periods=1, freq='D', tz=golden.tz) ephem_data = solarposition.get_solarposition(times, golden.latitude, golden.longitude, altitude=altitude, temperature=11) + if isinstance(expected, str) and expected == 'expected_solpos': + expected = expected_solpos this_expected = expected.copy() this_expected.index = times this_expected = np.round(this_expected, 5) From b83940c6f9b4d258a707eae6e92e5b803c1a78b3 Mon Sep 17 00:00:00 2001 From: Will Holmgren Date: Wed, 31 Mar 2021 11:14:35 -0700 Subject: [PATCH 3/3] add whats new --- docs/sphinx/source/whatsnew/v0.9.0.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/sphinx/source/whatsnew/v0.9.0.rst b/docs/sphinx/source/whatsnew/v0.9.0.rst index 505f12523b..9a8f3878b7 100644 --- a/docs/sphinx/source/whatsnew/v0.9.0.rst +++ b/docs/sphinx/source/whatsnew/v0.9.0.rst @@ -120,6 +120,9 @@ Bug fixes Testing ~~~~~~~ +* Added ``__init__.py`` to ``pvlib/tests`` and subdirectories. This follows + pytest recommendations for package layout and imports from ``conftest.py``. + Solves issue with test discovery in vscode. (:pull:`1204`) Documentation ~~~~~~~~~~~~~