Skip to content

Commit

Permalink
Added missing property tests for new horizons and viking
Browse files Browse the repository at this point in the history
  • Loading branch information
acpaquette committed Jan 17, 2024
1 parent 1ffe628 commit e6badfa
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 4 deletions.
11 changes: 7 additions & 4 deletions ale/drivers/viking_drivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,17 +132,20 @@ def focal_length(self):
"""
if not hasattr(self, "_focal_length"):
if (self.spacecraft_name == "VIKING ORBITER 1"):
if (self.sensor_name == "VISUAL_IMAGING_SUBSYSTEM_CAMERA_A"):
if (self.sensor_name == "Visual Imaging Subsystem Camera A"):
self._focal_length = 474.398
elif (self.sensor_name == "VISUAL_IMAGING_SUBSYSTEM_CAMERA_B"):
elif (self.sensor_name == "Visual Imaging Subsystem Camera B"):
self._focal_length = 474.448
print("Setting focal")
elif (self.spacecraft_name == "VIKING ORBITER 2"):
if (self.sensor_name == "VISUAL_IMAGING_SUBSYSTEM_CAMERA_A"):
if (self.sensor_name == "Visual Imaging Subsystem Camera A"):
self._focal_length = 474.610
elif (self.sensor_name == "VISUAL_IMAGING_SUBSYSTEM_CAMERA_B"):
elif (self.sensor_name == "Visual Imaging Subsystem Camera B"):
self._focal_length = 474.101
else:
raise Exception(f"Unknown viking instrument to get focal length: {self.spacecraft_name}, {self.sensor_name}")

return self._focal_length

@property
def detector_center_line(self):
Expand Down
34 changes: 34 additions & 0 deletions tests/pytests/test_newhorizons_drivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,40 @@ def test_sensor_name(self):
def test_exposure_duration(self):
np.testing.assert_almost_equal(self.driver.exposure_duration, 0.856)

# ========= Test Leisa isislabel and naifspice driver =========
class test_lorri_isis_naif(unittest.TestCase):
def setUp(self):
label = get_image_label("lor_0034974380_0x630_sci_1", "isis")
self.driver = NewHorizonsLorriIsisLabelNaifSpiceDriver(label)

def test_instrument_id(self):
assert self.driver.instrument_id == "NH_LORRI"

def test_ikid(self):
assert self.driver.ikid == -98301

def test_ephemeris_stop_time(self):
with patch('ale.drivers.nh_drivers.spice.scs2e', return_value=12345) as scs2e:
assert self.driver.ephemeris_stop_time == 12345
scs2e.assert_called_with(-98, '1/0034974379:47125')

def test_detector_center_sample(self):
with patch('ale.drivers.nh_drivers.spice.gdpool', return_value=[-1, 0, -1]) as gdpool:
assert self.driver.detector_center_sample == 0

def test_detector_center_line(self):
with patch('ale.drivers.nh_drivers.spice.gdpool', return_value=[0, -1, -1]) as gdpool:
assert self.driver.detector_center_line == 0

def test_sensor_name(self):
assert self.driver.sensor_name == "NEW HORIZONS"

def test_exposure_duration(self):
np.testing.assert_almost_equal(self.driver.exposure_duration, 7.5e-05)

def test_sensor_model_version(self):
assert self.driver.sensor_model_version == 2

class test_mvic_framer_isis3_naif(unittest.TestCase):

def setUp(self):
Expand Down
18 changes: 18 additions & 0 deletions tests/pytests/test_viking_drivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,12 @@ def setUp(self):
def test_short_mission_name(self):
assert self.driver.short_mission_name == 'viking'

def test_instrument_id(self):
assert self.driver.instrument_id == "VISUAL_IMAGING_SUBSYSTEM_CAMERA_B"

def test_sensor_name(self):
assert self.driver.sensor_name == "Visual Imaging Subsystem Camera B"

def test_spacecraft_name(self):
assert self.driver.spacecraft_name == 'VIKING ORBITER 1'

Expand All @@ -305,8 +311,20 @@ def test_ephemeris_start_time(self):
assert self.driver.ephemeris_start_time == 54324.99
scs2e.assert_called_with(-27999, '40031801')

def test_detector_center_line(self):
assert self.driver.detector_center_line == 0

def test_detector_center_sample(self):
assert self.driver.detector_center_sample == 0

def test_focal_length(self):
assert self.driver.focal_length == 474.448

@patch('ale.base.label_isis.IsisLabel.exposure_duration', 0.43)
def test_ephemeris_start_time_different_exposure(self):
with patch('ale.drivers.viking_drivers.spice.scs2e', return_value=54321) as scs2e:
assert self.driver.ephemeris_start_time == 54322.75
scs2e.assert_called_with(-27999, '40031801')

def test_sensor_model_version(self):
assert self.driver.sensor_model_version == 1

0 comments on commit e6badfa

Please sign in to comment.