diff --git a/ale/drivers/selene_drivers.py b/ale/drivers/selene_drivers.py index 13a5f8d0ec0d08a8c0aca7d6711b5dd9c70c2d21..ebce66c52a3cba34bd156021dc133d21aa59aa9a 100644 --- a/ale/drivers/selene_drivers.py +++ b/ale/drivers/selene_drivers.py @@ -12,6 +12,13 @@ from ale.base.type_sensor import LineScanner class KaguyaTcIsisLabelIsisSpiceDriver(LineScanner, IsisLabel, IsisSpice, KaguyaSeleneDistortion, Driver): """ """ + VALID_INSTRUMENT_IDS = ['TC1', 'TC2'] + @property + def instrument_id(self): + iid = self.label['IsisCube']['Instrument']['InstrumentId'] + if iid not in self.VALID_INSTRUMENT_IDS: + raise ValueError(f"Instrument ID: '{iid}' not in VALID_INSTRUMENT_IDS list. Failing.") + return iid @property def spacecraft_name(self): diff --git a/tests/pytests/test_kaguya_drivers.py b/tests/pytests/test_kaguya_drivers.py index 79cb734b512b2156a9cef386062b1af68f5912ed..d33ed98a4986d5f5d5e6116db13fc1d59de54d12 100644 --- a/tests/pytests/test_kaguya_drivers.py +++ b/tests/pytests/test_kaguya_drivers.py @@ -199,6 +199,14 @@ class test_isis_isis(unittest.TestCase): label = get_image_label("TC1S2B0_01_06691S820E0465", "isis") self.driver = KaguyaTcIsisLabelIsisSpiceDriver(label) + def test_instrument_id(self): + assert self.driver.instrument_id == 'TC1' + + def test_bad_instrument_id(self): + self.driver.label['IsisCube']['Instrument']['InstrumentId'] = 'FAIL' + with self.assertRaises(ValueError): + self.driver.instrument_id + def test_spacecraft_name(self): assert self.driver.spacecraft_name == 'KAGUYA'