Skip to content

convert test dirs to packages #1204

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 31, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/sphinx/source/whatsnew/v0.9.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
~~~~~~~~~~~~~
Expand Down
Empty file added pvlib/tests/__init__.py
Empty file.
20 changes: 20 additions & 0 deletions pvlib/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 = {}
Expand Down
Empty file added pvlib/tests/iotools/__init__.py
Empty file.
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_bsrn.py
Original file line number Diff line number Diff line change
Expand Up @@ -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', [
Expand Down
3 changes: 1 addition & 2 deletions pvlib/tests/iotools/test_crn.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_ecmwf_macc.py
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_epw.py
Original file line number Diff line number Diff line change
@@ -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'

Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_midc.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_psm3.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_pvgis.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions pvlib/tests/iotools/test_solrad.py
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_srml.py
Original file line number Diff line number Diff line change
Expand Up @@ -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'

Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_surfrad.py
Original file line number Diff line number Diff line change
Expand Up @@ -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/'
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/iotools/test_tmy.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Empty file added pvlib/tests/ivtools/__init__.py
Empty file.
2 changes: 1 addition & 1 deletion pvlib/tests/ivtools/test_sdm.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/ivtools/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/test_atmosphere.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/test_bifacial.py
Original file line number Diff line number Diff line change
@@ -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


Expand Down
4 changes: 2 additions & 2 deletions pvlib/tests/test_clearsky.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@

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
from pvlib import solarposition
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():
Expand Down
4 changes: 2 additions & 2 deletions pvlib/tests/test_conftest.py
Original file line number Diff line number Diff line change
@@ -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

Expand Down
4 changes: 2 additions & 2 deletions pvlib/tests/test_forecast.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')

Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/test_iam.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions pvlib/tests/test_inverter.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/test_irradiance.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

from pvlib import irradiance

from conftest import (
from .conftest import (
assert_frame_equal,
assert_series_equal,
requires_ephem,
Expand Down
11 changes: 5 additions & 6 deletions pvlib/tests/test_location.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -15,8 +15,7 @@
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 .conftest import requires_ephem, requires_tables


def test_location_required():
Expand Down Expand Up @@ -212,7 +211,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)
Expand All @@ -223,7 +222,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)
Expand All @@ -234,7 +233,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)
Expand Down
4 changes: 2 additions & 2 deletions pvlib/tests/test_modelchain.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/test_numerical_precision.py
Original file line number Diff line number Diff line change
Expand Up @@ -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__)
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/test_pvsystem.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pvlib/tests/test_snow.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions pvlib/tests/test_soiling.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
Loading