Skip to content

Commit a276c4b

Browse files
committed
Issue #699 more unit test coverage
1 parent 1d00ae6 commit a276c4b

File tree

1 file changed

+143
-13
lines changed

1 file changed

+143
-13
lines changed

tests/test_metadata.py

Lines changed: 143 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1200,7 +1200,10 @@ def test_band_from_common_bands_metadata(self):
12001200
},
12011201
"links": [],
12021202
},
1203-
["B04", "B03"],
1203+
[
1204+
Band("B04", common_name="red", wavelength_um=0.665),
1205+
Band("B03", common_name="green", wavelength_um=0.560),
1206+
],
12041207
),
12051208
(
12061209
{
@@ -1216,17 +1219,44 @@ def test_band_from_common_bands_metadata(self):
12161219
},
12171220
"links": [],
12181221
},
1219-
["B04", "B03"],
1222+
[Band("B04"), Band("B03")],
1223+
),
1224+
(
1225+
{
1226+
"type": "Catalog",
1227+
"id": "catalog123",
1228+
"description": "Catalog 123",
1229+
"stac_version": "1.1.0",
1230+
"summaries": {
1231+
"bands": [
1232+
{"name": "B04", "eo:common_name": "red", "eo:center_wavelength": 0.665},
1233+
{"name": "B03", "eo:common_name": "green", "eo:center_wavelength": 0.560},
1234+
],
1235+
},
1236+
"links": [],
1237+
},
1238+
[
1239+
Band("B04", common_name="red", wavelength_um=0.665),
1240+
Band("B03", common_name="green", wavelength_um=0.560),
1241+
],
12201242
),
12211243
],
12221244
)
1223-
def test_bands_from_stac_catatlog(self, data, expected):
1245+
def test_bands_from_stac_catalog(self, data, expected):
12241246
catalog = pystac.Catalog.from_dict(data)
1225-
assert _StacMetadataParser().bands_from_stac_catalog(catalog=catalog).band_names() == expected
1247+
assert _StacMetadataParser().bands_from_stac_catalog(catalog=catalog) == expected
12261248

12271249
@pytest.mark.parametrize(
12281250
["data", "expected"],
12291251
[
1252+
(
1253+
StacDummyBuilder.collection(
1254+
stac_version="1.0.0",
1255+
stac_extensions=["https://stac-extensions.github.io/eo/v1.1.0/schema.json"],
1256+
summaries={"eo:bands": [{"name": "B02"}, {"name": "B03"}, {"name": "B04"}]},
1257+
),
1258+
[Band("B02"), Band("B03"), Band("B04")],
1259+
),
12301260
(
12311261
StacDummyBuilder.collection(
12321262
stac_version="1.0.0",
@@ -1238,25 +1268,39 @@ def test_bands_from_stac_catatlog(self, data, expected):
12381268
],
12391269
},
12401270
),
1241-
["B04", "B03"],
1271+
[
1272+
Band("B04", common_name="red", wavelength_um=0.665),
1273+
Band("B03", common_name="green", wavelength_um=0.560),
1274+
],
1275+
),
1276+
(
1277+
StacDummyBuilder.collection(
1278+
stac_version="1.1.0",
1279+
summaries={"bands": [{"name": "B02"}, {"name": "B03"}, {"name": "B04"}]},
1280+
),
1281+
[Band("B02"), Band("B03"), Band("B04")],
12421282
),
12431283
(
12441284
StacDummyBuilder.collection(
12451285
stac_version="1.1.0",
1286+
stac_extensions=["https://stac-extensions.github.io/eo/v1.1.0/schema.json"],
12461287
summaries={
12471288
"bands": [
1248-
{"name": "B04"},
1249-
{"name": "B03"},
1289+
{"name": "B04", "eo:common_name": "red", "eo:center_wavelength": 0.665},
1290+
{"name": "B03", "eo:common_name": "green", "eo:center_wavelength": 0.560},
12501291
],
12511292
},
12521293
),
1253-
["B04", "B03"],
1294+
[
1295+
Band("B04", common_name="red", wavelength_um=0.665),
1296+
Band("B03", common_name="green", wavelength_um=0.560),
1297+
],
12541298
),
12551299
],
12561300
)
12571301
def test_bands_from_stac_collection(self, data, expected):
12581302
collection = pystac.Collection.from_dict(data)
1259-
assert _StacMetadataParser().bands_from_stac_collection(collection=collection).band_names() == expected
1303+
assert _StacMetadataParser().bands_from_stac_collection(collection=collection) == expected
12601304

12611305
@pytest.mark.parametrize(
12621306
["data", "expected"],
@@ -1266,28 +1310,114 @@ def test_bands_from_stac_collection(self, data, expected):
12661310
stac_version="1.0.0",
12671311
stac_extensions=["https://stac-extensions.github.io/eo/v1.1.0/schema.json"],
12681312
properties={
1269-
"datetime": "2023-10-01T00:00:00Z",
12701313
"eo:bands": [{"name": "B04"}, {"name": "B03"}],
12711314
},
12721315
),
1273-
["B04", "B03"],
1316+
[Band("B04"), Band("B03")],
1317+
),
1318+
(
1319+
StacDummyBuilder.item(
1320+
stac_version="1.0.0",
1321+
stac_extensions=["https://stac-extensions.github.io/eo/v1.1.0/schema.json"],
1322+
properties={
1323+
"eo:bands": [
1324+
{"name": "B04", "common_name": "red", "center_wavelength": 0.665},
1325+
{"name": "B03", "common_name": "green", "center_wavelength": 0.560},
1326+
],
1327+
},
1328+
),
1329+
[
1330+
Band("B04", common_name="red", wavelength_um=0.665),
1331+
Band("B03", common_name="green", wavelength_um=0.560),
1332+
],
12741333
),
12751334
(
12761335
StacDummyBuilder.item(
12771336
stac_version="1.1.0",
12781337
properties={
1279-
"datetime": "2023-10-01T00:00:00Z",
12801338
"bands": [{"name": "B04"}, {"name": "B03"}],
12811339
},
12821340
),
1283-
["B04", "B03"],
1341+
[Band("B04"), Band("B03")],
1342+
),
1343+
(
1344+
StacDummyBuilder.item(
1345+
stac_version="1.1.0",
1346+
properties={
1347+
"bands": [
1348+
{"name": "B04", "eo:common_name": "red", "eo:center_wavelength": 0.665},
1349+
{"name": "B03", "eo:common_name": "green", "eo:center_wavelength": 0.560},
1350+
],
1351+
},
1352+
),
1353+
[
1354+
Band("B04", common_name="red", wavelength_um=0.665),
1355+
Band("B03", common_name="green", wavelength_um=0.560),
1356+
],
12841357
),
12851358
],
12861359
)
12871360
def test_bands_from_stac_item(self, data, expected):
1361+
item = pystac.Item.from_dict(data)
1362+
assert _StacMetadataParser().bands_from_stac_item(item=item) == expected
1363+
1364+
@pytest.mark.parametrize(
1365+
["data", "expected"],
1366+
[
1367+
(
1368+
StacDummyBuilder.item(
1369+
stac_version="1.0.0",
1370+
stac_extensions=["https://stac-extensions.github.io/eo/v1.1.0/schema.json"],
1371+
properties={
1372+
"eo:bands": [{"name": "B04"}, {"name": "B03"}, {"name": "B02"}],
1373+
},
1374+
),
1375+
["B04", "B03", "B02"],
1376+
),
1377+
(
1378+
StacDummyBuilder.item(
1379+
stac_version="1.1.0",
1380+
properties={
1381+
"bands": [{"name": "B04"}, {"name": "B03"}],
1382+
},
1383+
),
1384+
["B04", "B03"],
1385+
),
1386+
],
1387+
)
1388+
def test_bands_from_stac_item_band_names(self, data, expected):
12881389
item = pystac.Item.from_dict(data)
12891390
assert _StacMetadataParser().bands_from_stac_item(item=item).band_names() == expected
12901391

1392+
@pytest.mark.parametrize(
1393+
["data", "expected"],
1394+
[
1395+
(
1396+
StacDummyBuilder.collection(
1397+
stac_version="1.0.0",
1398+
stac_extensions=["https://stac-extensions.github.io/eo/v1.1.0/schema.json"],
1399+
summaries={"eo:bands": [{"name": "B02"}, {"name": "B03"}, {"name": "B04"}]},
1400+
),
1401+
[Band("B02"), Band("B03"), Band("B04")],
1402+
),
1403+
(
1404+
StacDummyBuilder.collection(
1405+
stac_version="1.1.0",
1406+
summaries={"bands": [{"name": "B02"}, {"name": "B03"}, {"name": "B04"}]},
1407+
),
1408+
[Band("B02"), Band("B03"), Band("B04")],
1409+
),
1410+
],
1411+
)
1412+
def test_bands_from_stac_item_parent_collection(self, data, expected):
1413+
collection = pystac.Collection.from_dict(data)
1414+
item = pystac.Item.from_dict(StacDummyBuilder.item(collection=collection))
1415+
assert _StacMetadataParser().bands_from_stac_item(item=item) == expected
1416+
1417+
def test_bands_from_stac_item_no_bands(self):
1418+
item = pystac.Item.from_dict(StacDummyBuilder.item())
1419+
assert _StacMetadataParser().bands_from_stac_item(item=item) == []
1420+
12911421
@pytest.mark.parametrize(
12921422
["data", "expected"],
12931423
[

0 commit comments

Comments
 (0)