1
- # Pytest for retrieve_ids_by_time_position.py
1
+ # Pytest for retrieve_ids_by_time_position.pyc
2
2
# pydar/pydar/: pytest -vs --disable-pytest-warnings --show-capture=no --capture=sys -vv
3
3
import logging
4
4
@@ -31,6 +31,11 @@ def test_retrieveIDSByFeatureName_featureNameRequired(caplog):
31
31
assert log_record .levelno == logging .CRITICAL
32
32
assert log_record .message == "\n CRITICAL ERROR, [feature_name]: feature_name is required"
33
33
34
+ def test_retrieveIDSByFeatureName_verifyOutput (caplog ):
35
+ # Test:
36
+ flyby_ids = pydar .retrieveIDSByFeatureName (feature_name = "ontario lacus" )
37
+ assert flyby_ids == {'T7' : ['S01' ], 'T36' : ['S03' ], 'T39' : ['S06' , 'S05' , 'S01' , 'S04' ], 'T48' : ['S04' ], 'T49' : ['S01' ], 'T50' : ['S02' ], 'T55' : ['S01' , 'S03' ], 'T56' : ['S01' ], 'T57' : ['S01' , 'S02' ], 'T58' : ['S01' ], 'T59' : ['S01' ], 'T65' : ['S04' , 'S01' , 'S05' , 'S02' , 'S03' ], 'T71' : ['S01' ], 'T95' : ['S03' ], 'T98' : ['S01' , 'S04' ]}
38
+
34
39
@pytest .mark .parametrize ("feature_name_invalid, feature_error_output" , invalid_non_str_options )
35
40
def test_retrieveIDSByFeatureName_featureNameInvalidTypes (caplog , feature_name_invalid , feature_error_output ):
36
41
# Test:
@@ -66,6 +71,11 @@ def test_retrieveIDSByLatitudeLongitude_longitudeRequired(caplog):
66
71
assert log_record .levelno == logging .CRITICAL
67
72
assert log_record .message == "\n CRITICAL ERROR, [longitude]: longitude is required"
68
73
74
+ def test_retrieveIDSByLatitudeLongitude_verifyOutput (caplog ):
75
+ # Test:
76
+ flyby_ids = pydar .retrieveIDSByLatitudeLongitude (latitude = - 80 , longitude = 170 )
77
+ assert flyby_ids == {'T39' : ['S06' , 'S05' , 'S01' ], 'T49' : ['S01' ], 'T50' : ['S02' ], 'T55' : ['S03' ], 'T56' : ['S01' ], 'T57' : ['S01' ], 'T58' : ['S01' ], 'T59' : ['S01' ], 'T65' : ['S01' ], 'T95' : ['S03' ], 'T98' : ['S01' , 'S04' ]}
78
+
69
79
@pytest .mark .parametrize ("latitude_invalid, latitude_error_output" , invalid_non_num_options )
70
80
def test_retrieveIDSByLatitudeLongitude_latitudeInvalidTypes (caplog , latitude_invalid , latitude_error_output ):
71
81
# Test:
@@ -111,6 +121,14 @@ def test_retrieveIDSByLatitudeLongitude_latitudeLongitudeNoIDsRetrieved(caplog):
111
121
## retrieveIDSByLatitudeLongitude() ####################################
112
122
113
123
## retrieveIDSByLatitudeLongitudeRange() ###############################
124
+ def test_retrieveIDSByLatitudeLongitudeRange_verifyOutput (caplog ):
125
+ # Test:
126
+ flyby_ids = pydar .retrieveIDSByLatitudeLongitudeRange (min_latitude = - 82 ,
127
+ max_latitude = - 72 ,
128
+ min_longitude = 183 ,
129
+ max_longitude = 185 )
130
+ assert flyby_ids == {'T7' : ['S01' ], 'T36' : ['S03' ], 'T39' : ['S06' , 'S05' , 'S01' , 'S04' ], 'T48' : ['S04' ], 'T49' : ['S01' ], 'T50' : ['S02' ], 'T55' : ['S01' , 'S03' ], 'T56' : ['S01' ], 'T57' : ['S01' , 'S02' ], 'T58' : ['S01' ], 'T59' : ['S01' ], 'T65' : ['S04' , 'S01' , 'S05' , 'S02' , 'S03' ], 'T71' : ['S01' ], 'T95' : ['S03' ], 'T98' : ['S01' , 'S04' ]}
131
+
114
132
@pytest .mark .parametrize ("type_invalid, type_error_output" , invalid_non_num_options )
115
133
def test_retrieveIDSByLatitudeLongitudeRange_minLatitudeInvalidTypes (caplog , type_invalid , type_error_output ):
116
134
# Test:
@@ -301,8 +319,23 @@ def test_retrieveFeaturesFromLatitudeLongitude_noFeaturesRetrieved(caplog):
301
319
log_record = caplog .records [0 ]
302
320
assert log_record .levelno == logging .INFO
303
321
assert log_record .message == "\n [WARNING]: No Features found at latitude from 90 to 90 and longitude from 360 to 360\n "
322
+
323
+ def test_retrieveIDSByLatitudeLongitude_verifyOutput (caplog ):
324
+ # Test:
325
+ found_features = pydar .retrieveFeaturesFromLatitudeLongitude (latitude = - 72 , longitude = 183 )
326
+ assert found_features == ['Ontario Lacus' , 'Rossak Planitia' ]
304
327
## retrieveFeaturesFromLatitudeLongitude() #############################
305
328
329
+ ## retrieveFeaturesFromLatitudeLongitudeRange() ##########################
330
+ def test_retrieveFeaturesFromLatitudeLongitudeRange_verifyOutput (caplog ):
331
+ # Test:
332
+ found_features = pydar .retrieveFeaturesFromLatitudeLongitudeRange (min_latitude = - 82 ,
333
+ max_latitude = - 72 ,
334
+ min_longitude = 183 ,
335
+ max_longitude = 190 )
336
+ assert found_features == ['Crveno Lacus' , 'Ontario Lacus' , 'Romo Planitia' , 'Rossak Planitia' , 'Saraswati Flumen' ]
337
+ ## retrieveFeaturesFromLatitudeLongitudeRange() ##########################
338
+
306
339
## retrieveIDSByTime() #################################################
307
340
def test_retrieveIDSByTime_yearRequired (caplog ):
308
341
with pytest .raises (SystemExit ):
@@ -318,6 +351,13 @@ def test_retrieveIDSByTime_DOYRequired(caplog):
318
351
assert log_record .levelno == logging .CRITICAL
319
352
assert log_record .message == "\n CRITICAL ERROR, [doy]: doy is required"
320
353
354
+ def test_retrieveIDSByTime_verifyOutput (caplog ):
355
+ # Test:
356
+ flyby_ids = pydar .retrieveIDSByTime (year = 2005 , doy = 301 )
357
+ assert flyby_ids == {'T8' : ['S02' , 'S03' , 'S01' ]}
358
+ flyby_ids = pydar .retrieveIDSByTime (year = 2005 , doy = 301 , hour = 3 )
359
+ assert flyby_ids == {'T8' : ['S03' , 'S01' ]}
360
+
321
361
@pytest .mark .parametrize ("year_invalid_range" , [(2003 ), (2015 )])
322
362
def test_retrieveIDSByTime_yearInvalidRange (caplog , year_invalid_range ):
323
363
with pytest .raises (SystemExit ):
@@ -437,6 +477,22 @@ def test_retrieveIDSByTimeRange_DOYStartRequired(caplog):
437
477
assert log_record .levelno == logging .CRITICAL
438
478
assert log_record .message == "\n CRITICAL ERROR, [start_doy]: start_doy is required"
439
479
480
+ def test_retrieveIDSByTimeRange_verifyOutput (caplog ):
481
+ # Test:
482
+ flyby_ids = pydar .retrieveIDSByTimeRange (start_year = 2004 ,
483
+ start_doy = 299 ,
484
+ start_hour = 2 ,
485
+ start_minute = 15 ,
486
+ start_second = 23 ,
487
+ start_millisecond = 987 ,
488
+ end_year = 2005 ,
489
+ end_doy = 301 ,
490
+ end_hour = 2 ,
491
+ end_minute = 15 ,
492
+ end_second = 23 ,
493
+ end_millisecond = 987 )
494
+ assert flyby_ids == {'Ta' : ['S01' ], 'T3' : ['S01' ], 'T7' : ['S01' ]}
495
+
440
496
def test_retrieveIDSByTimeRange_DOYEndRequired (caplog ):
441
497
with pytest .raises (SystemExit ):
442
498
pydar .retrieveIDSByTimeRange (start_year = 2010 , end_year = 2011 , start_doy = 1 , end_doy = None )
0 commit comments