File size: 1,204 Bytes
a5be142 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
from ocf_data_sampler.select.location import Location
from pvnet.utils import SiteLocationLookup
import xarray as xr
import pytest
@pytest.mark.parametrize(
"lookup_site_id, expected_x, expected_y, expected_id",
[
(1, -1.99106, 48.709865, 1),
(0, 0.30693, 51.509865, 0),
(2, -1.56106, 56.203865, 2),
],
)
def test_site_location_lookup(lookup_site_id, expected_x, expected_y, expected_id):
# setup
site_ids = [0, 1, 2]
longs = [0.30693, -1.99106, -1.56106]
lats = [51.509865, 48.709865, 56.203865]
da_long = xr.DataArray(
data=longs,
dims="pv_system_id",
coords=dict(site_id=(["pv_system_id"], site_ids), long=(["pv_system_id"], longs)),
)
da_lat = xr.DataArray(
data=lats,
dims="pv_system_id",
coords=dict(site_id=(["pv_system_id"], site_ids), long=(["pv_system_id"], lats)),
)
# Actual testing part
site_lookup = SiteLocationLookup(long=da_long, lat=da_lat)
# retrieve location of site 1
site_location: Location = site_lookup(lookup_site_id)
assert site_location.x == expected_x
assert site_location.y == expected_y
assert site_location.id == expected_id
|