33# This is for the type checking on GridTest.test_clear_code
44# mypy: warn_unused_ignores=False
55
6- import unittest
76from datetime import datetime
87from typing import Any
98
@@ -33,30 +32,36 @@ def item() -> pystac.Item:
3332 GridExtension .add_to (item )
3433 return item
3534
35+
3636def test_stac_extensions (item : pystac .Item ) -> None :
3737 assert GridExtension .has_extension (item )
3838
39+
3940def test_item_repr (item : pystac .Item ) -> None :
4041 grid_item_ext = GridExtension .ext (item )
4142 assert f"<ItemGridExtension Item id={ item .id } >" == grid_item_ext .__repr__ ()
4243
44+
4345@pytest .mark .vcr ()
4446def test_attributes (item : pystac .Item ) -> None :
4547 GridExtension .ext (item ).apply (code )
4648 assert code == GridExtension .ext (item ).code
4749 item .validate ()
4850
51+
4952def test_invalid_code_value (item : pystac .Item ) -> None :
5053 with pytest .raises (ValueError ):
5154 GridExtension .ext (item ).apply ("not_a_valid_code" )
5255
56+
5357@pytest .mark .vcr ()
5458def test_modify (item : pystac .Item ) -> None :
5559 GridExtension .ext (item ).apply (code )
5660 GridExtension .ext (item ).apply (code + "a" )
5761 assert code + "a" == GridExtension .ext (item ).code
5862 item .validate ()
5963
64+
6065def test_from_dict () -> None :
6166 d : dict [str , Any ] = {
6267 "type" : "Feature" ,
@@ -74,6 +79,7 @@ def test_from_dict() -> None:
7479 item = pystac .Item .from_dict (d )
7580 assert code == GridExtension .ext (item ).code
7681
82+
7783def test_to_from_dict (item : pystac .Item ) -> None :
7884 GridExtension .ext (item ).apply (code )
7985 d = item .to_dict ()
@@ -82,6 +88,7 @@ def test_to_from_dict(item: pystac.Item) -> None:
8288 item = pystac .Item .from_dict (d )
8389 assert code == GridExtension .ext (item ).code
8490
91+
8592def test_clear_code (item : pystac .Item ) -> None :
8693 GridExtension .ext (item ).apply (code )
8794
@@ -103,6 +110,7 @@ def test_clear_code(item: pystac.Item) -> None:
103110 # https://github.com/stac-utils/pystac/pull/878#discussion_r957355415
104111 GridExtension .ext (item ).code = "EPSG:4326"
105112
113+
106114def test_extension_not_implemented () -> None :
107115 # Should raise exception if Item does not include extension URI
108116 item = pystac .Item .from_file (SENTINEL_EXAMPLE_URI )
@@ -117,6 +125,7 @@ def test_extension_not_implemented() -> None:
117125 with pytest .raises (pystac .ExtensionNotImplemented ):
118126 _ = GridExtension .ext (item )
119127
128+
120129def test_item_ext_add_to () -> None :
121130 item = pystac .Item .from_file (SENTINEL_EXAMPLE_URI )
122131 item .stac_extensions .remove (GridExtension .get_schema_uri ())
@@ -126,12 +135,13 @@ def test_item_ext_add_to() -> None:
126135
127136 assert GridExtension .get_schema_uri () in item .stac_extensions
128137
138+
129139def test_should_raise_when_passing_invalid_extension_object () -> None :
130140 with pytest .raises (
131- ExtensionTypeError ,
132- match = r"^GridExtension does not apply to type 'object'$" ):
141+ ExtensionTypeError , match = r"^GridExtension does not apply to type 'object'$"
142+ ):
133143 # intentionally calling it wrong so tell mypy to ignore this line:
134- GridExtension .ext (object ()) # type: ignore
144+ GridExtension .ext (object ()) # type: ignore
135145
136146
137147@pytest .fixture
0 commit comments