|
21 | 21 | )
|
22 | 22 | from openeo.testing.stac import StacDummyBuilder
|
23 | 23 |
|
| 24 | +CUBE_METADATA_XYTB = CubeMetadata( |
| 25 | + dimensions=[ |
| 26 | + SpatialDimension(name="x", extent=[2, 7], crs=4326, step=0.1), |
| 27 | + SpatialDimension(name="y", extent=[49, 52], crs=4326, step=0.1), |
| 28 | + TemporalDimension(name="t", extent=["2024-09-01", "2024-12-01"]), |
| 29 | + BandDimension(name="bands", bands=[Band("B2"), Band("B3")]), |
| 30 | + ] |
| 31 | +) |
24 | 32 |
|
25 |
| -@pytest.fixture |
26 |
| -def xytb_cube_metadata() -> CubeMetadata: |
27 |
| - """Generic 4D cube (x, y, temporal, band) metadata""" |
28 |
| - return CubeMetadata( |
29 |
| - dimensions=[ |
30 |
| - SpatialDimension(name="x", extent=[2, 7], crs=4326, step=0.1), |
31 |
| - SpatialDimension(name="y", extent=[49, 52], crs=4326, step=0.1), |
32 |
| - TemporalDimension(name="t", extent=["2024-09-01", "2024-12-01"]), |
33 |
| - BandDimension(name="bands", bands=[Band("B2"), Band("B3")]), |
34 |
| - ] |
35 |
| - ) |
| 33 | +CUBE_METADATA_TBXY = CubeMetadata( |
| 34 | + dimensions=[ |
| 35 | + TemporalDimension(name="t", extent=["2024-09-01", "2024-12-01"]), |
| 36 | + BandDimension(name="bands", bands=[Band("B2"), Band("B3")]), |
| 37 | + SpatialDimension(name="x", extent=[2, 7], crs=4326, step=0.1), |
| 38 | + SpatialDimension(name="y", extent=[49, 52], crs=4326, step=0.1), |
| 39 | + ] |
| 40 | +) |
36 | 41 |
|
37 | 42 |
|
38 | 43 | def test_metadata_get():
|
@@ -941,20 +946,22 @@ def test_metadata_from_stac_temporal_dimension(tmp_path, stac_dict, expected):
|
941 | 946 | ({"resolution": [11, 22], "projection": 32631}, {"crs": 32631, "step": 11}, {"crs": 32631, "step": 22}),
|
942 | 947 | ],
|
943 | 948 | )
|
944 |
| -def test_metadata_resample_spatial(xytb_cube_metadata, kwargs, expected_x, expected_y): |
945 |
| - metadata = xytb_cube_metadata.resample_spatial(**kwargs) |
| 949 | +@pytest.mark.parametrize("cube_metadata", [CUBE_METADATA_XYTB, CUBE_METADATA_TBXY]) |
| 950 | +def test_metadata_resample_spatial(cube_metadata, kwargs, expected_x, expected_y): |
| 951 | + metadata = cube_metadata.resample_spatial(**kwargs) |
946 | 952 | assert isinstance(metadata, CubeMetadata)
|
947 | 953 | assert metadata.spatial_dimensions == [
|
948 | 954 | SpatialDimension(name="x", extent=[2, 7], **expected_x),
|
949 | 955 | SpatialDimension(name="y", extent=[49, 52], **expected_y),
|
950 | 956 | ]
|
951 |
| - assert metadata.temporal_dimension == xytb_cube_metadata.temporal_dimension |
952 |
| - assert metadata.band_dimension == xytb_cube_metadata.band_dimension |
| 957 | + assert metadata.temporal_dimension == cube_metadata.temporal_dimension |
| 958 | + assert metadata.band_dimension == cube_metadata.band_dimension |
953 | 959 |
|
954 | 960 |
|
955 |
| -def test_metadata_resample_cube_spatial(xytb_cube_metadata): |
956 |
| - metadata1 = xytb_cube_metadata.resample_spatial(resolution=(11, 22), projection=32631) |
957 |
| - metadata2 = xytb_cube_metadata.resample_spatial(resolution=0.5) |
| 961 | +@pytest.mark.parametrize("cube_metadata", [CUBE_METADATA_XYTB, CUBE_METADATA_TBXY]) |
| 962 | +def test_metadata_resample_cube_spatial(cube_metadata): |
| 963 | + metadata1 = cube_metadata.resample_spatial(resolution=(11, 22), projection=32631) |
| 964 | + metadata2 = cube_metadata.resample_spatial(resolution=0.5) |
958 | 965 |
|
959 | 966 | assert metadata1.spatial_dimensions == [
|
960 | 967 | SpatialDimension(name="x", extent=[2, 7], crs=32631, step=11),
|
|
0 commit comments