11"""Tests for pystac.extensions.sar."""
22
3- import unittest
43from datetime import datetime
54from random import choice
65from string import ascii_letters
@@ -35,12 +34,14 @@ def item() -> pystac.Item:
3534def sentinel_item () -> pystac .Item :
3635 return pystac .Item .from_file (TestCases .get_path ("data-files/sar/sentinel-1.json" ))
3736
37+
3838@pytest .fixture
3939def collection () -> pystac .Collection :
4040 return pystac .Collection .from_file (
4141 TestCases .get_path ("data-files/collections/multi-extent.json" )
4242 )
4343
44+
4445def test_stac_extensions (item : pystac .Item ) -> None :
4546 assert SarExtension .has_extension (item )
4647
@@ -55,9 +56,7 @@ def test_required(item: pystac.Item) -> None:
5556 ]
5657 product_type : str = "Some product"
5758
58- SarExtension .ext (item ).apply (
59- mode , frequency_band , polarizations , product_type
60- )
59+ SarExtension .ext (item ).apply (mode , frequency_band , polarizations , product_type )
6160 assert mode == SarExtension .ext (item ).instrument_mode
6261 assert sar .INSTRUMENT_MODE_PROP in item .properties
6362
@@ -153,7 +152,9 @@ def test_polarization_must_be_list(item: pystac.Item) -> None:
153152 )
154153
155154
156- def test_should_return_none_when_observation_direction_is_not_set (item : pystac .Item ) -> None :
155+ def test_should_return_none_when_observation_direction_is_not_set (
156+ item : pystac .Item ,
157+ ) -> None :
157158 extension = SarExtension .ext (item )
158159 extension .apply (
159160 choice (ascii_letters ),
@@ -181,6 +182,7 @@ def test_extension_not_implemented(sentinel_item: pystac.Item) -> None:
181182 ownerless_asset = pystac .Asset .from_dict (asset .to_dict ())
182183 _ = SarExtension .ext (ownerless_asset )
183184
185+
184186def test_item_ext_add_to (sentinel_item : pystac .Item ) -> None :
185187 sentinel_item .stac_extensions .remove (SarExtension .get_schema_uri ())
186188 assert SarExtension .get_schema_uri () not in sentinel_item .stac_extensions
@@ -189,6 +191,7 @@ def test_item_ext_add_to(sentinel_item: pystac.Item) -> None:
189191
190192 assert SarExtension .get_schema_uri () in sentinel_item .stac_extensions
191193
194+
192195def test_asset_ext_add_to (sentinel_item : pystac .Item ) -> None :
193196 sentinel_item .stac_extensions .remove (SarExtension .get_schema_uri ())
194197 assert SarExtension .get_schema_uri () not in sentinel_item .stac_extensions
@@ -198,11 +201,13 @@ def test_asset_ext_add_to(sentinel_item: pystac.Item) -> None:
198201
199202 assert SarExtension .get_schema_uri () in sentinel_item .stac_extensions
200203
204+
201205def test_should_raise_exception_when_passing_invalid_extension_object () -> None :
202206 with pytest .raises (
203- ExtensionTypeError , match = r"^SarExtension does not apply to type 'object'$" ,
207+ ExtensionTypeError ,
208+ match = r"^SarExtension does not apply to type 'object'$" ,
204209 ):
205- SarExtension .ext (object ()) # type: ignore
210+ SarExtension .ext (object ()) # type: ignore
206211
207212
208213def test_summaries_instrument_mode (collection : pystac .Collection ) -> None :
@@ -211,150 +216,172 @@ def test_summaries_instrument_mode(collection: pystac.Collection) -> None:
211216
212217 summaries_ext .instrument_mode = instrument_mode_list
213218
214- assert summaries_ext .instrument_mode == instrument_mode_list
219+ assert summaries_ext .instrument_mode == instrument_mode_list
215220 summaries_dict = collection .to_dict ()["summaries" ]
216221
217- assert summaries_dict ["sar:instrument_mode" ] == instrument_mode_list
222+ assert summaries_dict ["sar:instrument_mode" ] == instrument_mode_list
223+
218224
219225def test_summaries_frequency_band (collection : pystac .Collection ) -> None :
220226 summaries_ext = SarExtension .summaries (collection , True )
221227 frequency_band_list = [FrequencyBand .P , FrequencyBand .L ]
222228
223229 summaries_ext .frequency_band = frequency_band_list
224230
225- assert summaries_ext .frequency_band == frequency_band_list
231+ assert summaries_ext .frequency_band == frequency_band_list
226232 summaries_dict = collection .to_dict ()["summaries" ]
227233
228- assert summaries_dict ["sar:frequency_band" ] == frequency_band_list
234+ assert summaries_dict ["sar:frequency_band" ] == frequency_band_list
235+
229236
230237def test_summaries_polarizations (collection : pystac .Collection ) -> None :
231238 summaries_ext = SarExtension .summaries (collection , True )
232239 polarizations_list = [Polarization .HH ]
233240
234241 summaries_ext .polarizations = polarizations_list
235242
236- assert summaries_ext .polarizations == polarizations_list
243+ assert summaries_ext .polarizations == polarizations_list
237244
238245 summaries_dict = collection .to_dict ()["summaries" ]
239246
240- assert summaries_dict ["sar:polarizations" ] == polarizations_list
247+ assert summaries_dict ["sar:polarizations" ] == polarizations_list
248+
241249
242250def test_summaries_product_type (collection : pystac .Collection ) -> None :
243251 summaries_ext = SarExtension .summaries (collection , True )
244252 product_type_list = ["SSC" ]
245253
246254 summaries_ext .product_type = product_type_list
247255
248- assert summaries_ext .product_type == product_type_list
256+ assert summaries_ext .product_type == product_type_list
249257
250258 summaries_dict = collection .to_dict ()["summaries" ]
251259
252- assert summaries_dict ["sar:product_type" ] == product_type_list
260+ assert summaries_dict ["sar:product_type" ] == product_type_list
261+
253262
254263def test_summaries_center_frequency (collection : pystac .Collection ) -> None :
255264 summaries_ext = SarExtension .summaries (collection , True )
256265 center_frequency_range = RangeSummary (4.405 , 6.405 )
257266
258267 summaries_ext .center_frequency = center_frequency_range
259268
260- assert summaries_ext .center_frequency == center_frequency_range
269+ assert summaries_ext .center_frequency == center_frequency_range
261270
262271 summaries_dict = collection .to_dict ()["summaries" ]
263272
264- assert summaries_dict ["sar:center_frequency" ] == center_frequency_range .to_dict ()
273+ assert summaries_dict ["sar:center_frequency" ] == center_frequency_range .to_dict ()
274+
265275
266276def test_summaries_resolution_range (collection : pystac .Collection ) -> None :
267277 summaries_ext = SarExtension .summaries (collection , True )
268278 resolution_range_range = RangeSummary (800.0 , 1200.0 )
269279
270280 summaries_ext .resolution_range = resolution_range_range
271281
272- assert summaries_ext .resolution_range == resolution_range_range
282+ assert summaries_ext .resolution_range == resolution_range_range
273283
274284 summaries_dict = collection .to_dict ()["summaries" ]
275285
276- assert summaries_dict ["sar:resolution_range" ] == resolution_range_range .to_dict ()
286+ assert summaries_dict ["sar:resolution_range" ] == resolution_range_range .to_dict ()
287+
277288
278289def test_summaries_resolution_azimuth (collection : pystac .Collection ) -> None :
279290 summaries_ext = SarExtension .summaries (collection , True )
280291 resolution_azimuth_range = RangeSummary (800.0 , 1200.0 )
281292
282293 summaries_ext .resolution_azimuth = resolution_azimuth_range
283294
284- assert summaries_ext .resolution_azimuth == resolution_azimuth_range
295+ assert summaries_ext .resolution_azimuth == resolution_azimuth_range
285296
286297 summaries_dict = collection .to_dict ()["summaries" ]
287298
288- assert summaries_dict ["sar:resolution_azimuth" ] == resolution_azimuth_range .to_dict ()
299+ assert (
300+ summaries_dict ["sar:resolution_azimuth" ] == resolution_azimuth_range .to_dict ()
301+ )
302+
289303
290304def test_summaries_pixel_spacing_range (collection : pystac .Collection ) -> None :
291305 summaries_ext = SarExtension .summaries (collection , True )
292306 pixel_spacing_range_range = RangeSummary (400.0 , 600.0 )
293307
294308 summaries_ext .pixel_spacing_range = pixel_spacing_range_range
295309
296- assert summaries_ext .pixel_spacing_range == pixel_spacing_range_range
310+ assert summaries_ext .pixel_spacing_range == pixel_spacing_range_range
297311
298312 summaries_dict = collection .to_dict ()["summaries" ]
299313
300- assert summaries_dict ["sar:pixel_spacing_range" ] == pixel_spacing_range_range .to_dict ()
314+ assert (
315+ summaries_dict ["sar:pixel_spacing_range" ] == pixel_spacing_range_range .to_dict ()
316+ )
317+
301318
302319def test_summaries_pixel_spacing_azimuth (collection : pystac .Collection ) -> None :
303320 summaries_ext = SarExtension .summaries (collection , True )
304321 pixel_spacing_azimuth_range = RangeSummary (400.0 , 600.0 )
305322
306323 summaries_ext .pixel_spacing_azimuth = pixel_spacing_azimuth_range
307324
308- assert summaries_ext .pixel_spacing_azimuth == pixel_spacing_azimuth_range
325+ assert summaries_ext .pixel_spacing_azimuth == pixel_spacing_azimuth_range
309326
310327 summaries_dict = collection .to_dict ()["summaries" ]
311328
312- assert summaries_dict ["sar:pixel_spacing_azimuth" ] == pixel_spacing_azimuth_range .to_dict ()
329+ assert (
330+ summaries_dict ["sar:pixel_spacing_azimuth" ]
331+ == pixel_spacing_azimuth_range .to_dict ()
332+ )
333+
313334
314335def test_summaries_looks_range (collection : pystac .Collection ) -> None :
315336 summaries_ext = SarExtension .summaries (collection , True )
316337 looks_range_range = RangeSummary (400 , 600 )
317338
318339 summaries_ext .looks_range = looks_range_range
319340
320- assert summaries_ext .looks_range == looks_range_range
341+ assert summaries_ext .looks_range == looks_range_range
321342
322343 summaries_dict = collection .to_dict ()["summaries" ]
323344
324- assert summaries_dict ["sar:looks_range" ] == looks_range_range .to_dict ()
345+ assert summaries_dict ["sar:looks_range" ] == looks_range_range .to_dict ()
346+
325347
326348def test_summaries_looks_azimuth (collection : pystac .Collection ) -> None :
327349 summaries_ext = SarExtension .summaries (collection , True )
328350 looks_azimuth_range = RangeSummary (400 , 600 )
329351
330352 summaries_ext .looks_azimuth = looks_azimuth_range
331353
332- assert summaries_ext .looks_azimuth == looks_azimuth_range
354+ assert summaries_ext .looks_azimuth == looks_azimuth_range
333355
334356 summaries_dict = collection .to_dict ()["summaries" ]
335357
336- assert summaries_dict ["sar:looks_azimuth" ] == looks_azimuth_range .to_dict ()
358+ assert summaries_dict ["sar:looks_azimuth" ] == looks_azimuth_range .to_dict ()
359+
337360
338361def test_summaries_looks_equivalent_number (collection : pystac .Collection ) -> None :
339362 summaries_ext = SarExtension .summaries (collection , True )
340363 looks_equivalent_number_range = RangeSummary (400.0 , 600.0 )
341364
342365 summaries_ext .looks_equivalent_number = looks_equivalent_number_range
343366
344- assert summaries_ext .looks_equivalent_number == looks_equivalent_number_range
367+ assert summaries_ext .looks_equivalent_number == looks_equivalent_number_range
345368
346369 summaries_dict = collection .to_dict ()["summaries" ]
347370
348- assert summaries_dict ["sar:looks_equivalent_number" ] == looks_equivalent_number_range .to_dict ()
371+ assert (
372+ summaries_dict ["sar:looks_equivalent_number" ]
373+ == looks_equivalent_number_range .to_dict ()
374+ )
375+
349376
350377def test_summaries_observation_direction (collection : pystac .Collection ) -> None :
351378 summaries_ext = SarExtension .summaries (collection , True )
352379 observation_direction_list = [ObservationDirection .LEFT ]
353380
354381 summaries_ext .observation_direction = observation_direction_list
355382
356- assert summaries_ext .observation_direction == observation_direction_list
383+ assert summaries_ext .observation_direction == observation_direction_list
357384
358385 summaries_dict = collection .to_dict ()["summaries" ]
359386
360- assert summaries_dict ["sar:observation_direction" ] == observation_direction_list
387+ assert summaries_dict ["sar:observation_direction" ] == observation_direction_list
0 commit comments