Skip to content

Commit a00b28e

Browse files
committed
pytest to verify retrieve ids/features output
1 parent d600953 commit a00b28e

File tree

3 files changed

+58
-3
lines changed

3 files changed

+58
-3
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,6 @@ retrieveFeaturesFromLatitudeLongitudeRange(min_latitude=None,
404404

405405
```python
406406
import pydar
407-
408407
pydar.retrieveFeaturesFromLatitudeLongitudeRange(min_latitude=-82,
409408
max_latitude=-72,
410409
min_longitude=183,

pydar/pytests/test_retrieve_ids_by_time_position.py

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Pytest for retrieve_ids_by_time_position.py
1+
# Pytest for retrieve_ids_by_time_position.pyc
22
# pydar/pydar/: pytest -vs --disable-pytest-warnings --show-capture=no --capture=sys -vv
33
import logging
44

@@ -31,6 +31,11 @@ def test_retrieveIDSByFeatureName_featureNameRequired(caplog):
3131
assert log_record.levelno == logging.CRITICAL
3232
assert log_record.message == "\nCRITICAL ERROR, [feature_name]: feature_name is required"
3333

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+
3439
@pytest.mark.parametrize("feature_name_invalid, feature_error_output", invalid_non_str_options)
3540
def test_retrieveIDSByFeatureName_featureNameInvalidTypes(caplog, feature_name_invalid, feature_error_output):
3641
# Test:
@@ -66,6 +71,11 @@ def test_retrieveIDSByLatitudeLongitude_longitudeRequired(caplog):
6671
assert log_record.levelno == logging.CRITICAL
6772
assert log_record.message == "\nCRITICAL ERROR, [longitude]: longitude is required"
6873

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+
6979
@pytest.mark.parametrize("latitude_invalid, latitude_error_output", invalid_non_num_options)
7080
def test_retrieveIDSByLatitudeLongitude_latitudeInvalidTypes(caplog, latitude_invalid, latitude_error_output):
7181
# Test:
@@ -111,6 +121,14 @@ def test_retrieveIDSByLatitudeLongitude_latitudeLongitudeNoIDsRetrieved(caplog):
111121
## retrieveIDSByLatitudeLongitude() ####################################
112122

113123
## 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+
114132
@pytest.mark.parametrize("type_invalid, type_error_output", invalid_non_num_options)
115133
def test_retrieveIDSByLatitudeLongitudeRange_minLatitudeInvalidTypes(caplog, type_invalid, type_error_output):
116134
# Test:
@@ -301,8 +319,23 @@ def test_retrieveFeaturesFromLatitudeLongitude_noFeaturesRetrieved(caplog):
301319
log_record = caplog.records[0]
302320
assert log_record.levelno == logging.INFO
303321
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']
304327
## retrieveFeaturesFromLatitudeLongitude() #############################
305328

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+
306339
## retrieveIDSByTime() #################################################
307340
def test_retrieveIDSByTime_yearRequired(caplog):
308341
with pytest.raises(SystemExit):
@@ -318,6 +351,13 @@ def test_retrieveIDSByTime_DOYRequired(caplog):
318351
assert log_record.levelno == logging.CRITICAL
319352
assert log_record.message == "\nCRITICAL ERROR, [doy]: doy is required"
320353

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+
321361
@pytest.mark.parametrize("year_invalid_range", [(2003), (2015)])
322362
def test_retrieveIDSByTime_yearInvalidRange(caplog, year_invalid_range):
323363
with pytest.raises(SystemExit):
@@ -437,6 +477,22 @@ def test_retrieveIDSByTimeRange_DOYStartRequired(caplog):
437477
assert log_record.levelno == logging.CRITICAL
438478
assert log_record.message == "\nCRITICAL ERROR, [start_doy]: start_doy is required"
439479

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+
440496
def test_retrieveIDSByTimeRange_DOYEndRequired(caplog):
441497
with pytest.raises(SystemExit):
442498
pydar.retrieveIDSByTimeRange(start_year=2010, end_year=2011, start_doy=1, end_doy=None)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Python Package Setup
44
from setuptools import setup, find_namespace_packages
55

6-
VERSION="1.0.0"
6+
VERSION="1.0.1"
77
DESCRIPTION="A Python package to access, download, view, and manipulate Cassini RADAR images"
88

99
with open("README.md", "r") as f:

0 commit comments

Comments
 (0)