Loading tests/pytests/test_cassini_drivers.py +76 −13 Original line number Original line Diff line number Diff line import pytest import pytest import ale import ale import os import os import pvl import numpy as np from ale.drivers import co_drivers import unittest import unittest from unittest.mock import PropertyMock, patch from unittest.mock import PropertyMock, patch import json import json from conftest import get_image_label, get_image_kernels, get_isd, convert_kernels, compare_dicts, get_table_data from conftest import get_image_label, get_image_kernels, get_isd, convert_kernels, compare_dicts, get_table_data from ale.drivers.co_drivers import CassiniIssPds3LabelNaifSpiceDriver, CassiniIssIsisLabelNaifSpiceDriver from ale.drivers.co_drivers import CassiniIssPds3LabelNaifSpiceDriver, CassiniIssIsisLabelNaifSpiceDriver, CassiniVimsIsisLabelNaifSpiceDriver @pytest.fixture() @pytest.fixture() def test_kernels(scope="module", autouse=True): def test_iss_kernels(scope="module", autouse=True): kernels = get_image_kernels("N1702360370_1") kernels = get_image_kernels("N1702360370_1") updated_kernels, binary_kernels = convert_kernels(kernels) updated_kernels, binary_kernels = convert_kernels(kernels) yield updated_kernels yield updated_kernels for kern in binary_kernels: for kern in binary_kernels: os.remove(kern) os.remove(kern) def test_load_pds(test_kernels): @pytest.fixture() def test_vims_kernels(scope="module", autouse=True): kernels = get_image_kernels("v1514284191_1") updated_kernels, binary_kernels = convert_kernels(kernels) yield updated_kernels for kern in binary_kernels: os.remove(kern) def test_load_pds(test_iss_kernels): label_file = get_image_label("N1702360370_1") label_file = get_image_label("N1702360370_1") compare_dict = get_isd("cassiniiss") compare_dict = get_isd("cassiniiss") isd_str = ale.loads(label_file, props={'kernels': test_kernels}) isd_str = ale.loads(label_file, props={'kernels': test_iss_kernels}) isd_obj = json.loads(isd_str) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_dict) == [] assert compare_dicts(isd_obj, compare_dict) == [] Loading @@ -43,18 +48,28 @@ def test_load_isis(): x = compare_dicts(isd_obj, compare_dict) x = compare_dicts(isd_obj, compare_dict) assert x == [] assert x == [] def test_load_isis_naif(test_kernels): def test_load_iss_isis_naif(test_iss_kernels): label_file = get_image_label("N1702360370_1") label_file = get_image_label("N1702360370_1") compare_dict = get_isd("cassiniiss") compare_dict = get_isd("cassiniiss") isd_str = ale.loads(label_file, props={"kernels": test_kernels}) isd_str = ale.loads(label_file, props={"kernels": test_iss_kernels}) isd_obj = json.loads(isd_str) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) print(json.dumps(isd_obj, indent=2)) x = compare_dicts(isd_obj, compare_dict) x = compare_dicts(isd_obj, compare_dict) assert x == [] assert x == [] # ========= Test cassini pds3label and naifspice driver ========= def test_load_vims_isis_naif(test_vims_kernels): class test_cassini_pds3_naif(unittest.TestCase): label_file = get_image_label("v1514284191_1_vis", label_type="isis") compare_dict = get_isd("cassinivims") isd_str = ale.loads(label_file, props={"kernels": test_vims_kernels}) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) x = compare_dicts(isd_obj, compare_dict) assert x == [] # ========= Test cassini ISS pds3label and naifspice driver ========= class test_cassini_iss_pds3_naif(unittest.TestCase): def setUp(self): def setUp(self): label = get_image_label("N1702360370_1", "pds3") label = get_image_label("N1702360370_1", "pds3") Loading Loading @@ -142,8 +157,8 @@ class test_cassini_pds3_naif(unittest.TestCase): assert len(frame_chain.nodes()) == 0 assert len(frame_chain.nodes()) == 0 from_spice.assert_called_with(center_ephemeris_time=2.4, ephemeris_times=[2.4], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) from_spice.assert_called_with(center_ephemeris_time=2.4, ephemeris_times=[2.4], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) # ========= Test cassini isislabel and naifspice driver ========= # ========= Test cassini ISS isislabel and naifspice driver ========= class test_cassini_isis_naif(unittest.TestCase): class test_cassini_iss_isis_naif(unittest.TestCase): def setUp(self): def setUp(self): label = get_image_label("N1702360370_1", "isis3") label = get_image_label("N1702360370_1", "isis3") Loading Loading @@ -213,3 +228,51 @@ class test_cassini_isis_naif(unittest.TestCase): frame_chain = self.driver.frame_chain frame_chain = self.driver.frame_chain assert len(frame_chain.nodes()) == 0 assert len(frame_chain.nodes()) == 0 from_spice.assert_called_with(center_ephemeris_time=2.4000000000000004, ephemeris_times=[2.4000000000000004], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) from_spice.assert_called_with(center_ephemeris_time=2.4000000000000004, ephemeris_times=[2.4000000000000004], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) # ========= Test cassini ISS pds3label and naifspice driver ========= class test_cassini_vims_isis_naif(unittest.TestCase): def setUp(self): label = get_image_label("v1514284191_1_vis", "isis") self.driver = CassiniVimsIsisLabelNaifSpiceDriver(label) def test_vims_channel(self): assert self.driver.vims_channel == "VIS" def test_instrument_id(self): assert self.driver.instrument_id == "CASSINI_VIMS_V" def test_spacecraft_names(self): assert self.driver.spacecraft_name == "Cassini" def test_focal2pixel_lines(self): assert self.driver.exposure_duration == 10.0 def test_focal_length(self): assert self.driver.focal_length == 143.0 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_compute_vims_time(self): # This value isn't used for anything in the test, as it's only used for the # default focal length calculation if the filter can't be found. with patch('ale.drivers.co_drivers.spice.scs2e', return_value=12345) as scs2e: assert self.driver.compute_vims_time(1, 1, self.driver.image_samples, "VIS") scs2e.assert_called_with(-82, '1514284191') def test_ephemeris_start_time(self): with patch('ale.drivers.co_drivers.CassiniVimsIsisLabelNaifSpiceDriver.compute_vims_time', return_value=12345) as compute_vims_time: assert self.driver.ephemeris_start_time == 12345 compute_vims_time.assert_called_with(-0.5, -0.5, 64, mode="VIS") def test_ephemeris_stop_time(self): with patch('ale.drivers.co_drivers.CassiniVimsIsisLabelNaifSpiceDriver.compute_vims_time', return_value=12345) as compute_vims_time: assert self.driver.ephemeris_stop_time == 12345 compute_vims_time.assert_called_with(63.5, 63.5, 64, mode="VIS") def test_sensor_model_version(self): assert self.driver.sensor_model_version == 1 No newline at end of file Loading
tests/pytests/test_cassini_drivers.py +76 −13 Original line number Original line Diff line number Diff line import pytest import pytest import ale import ale import os import os import pvl import numpy as np from ale.drivers import co_drivers import unittest import unittest from unittest.mock import PropertyMock, patch from unittest.mock import PropertyMock, patch import json import json from conftest import get_image_label, get_image_kernels, get_isd, convert_kernels, compare_dicts, get_table_data from conftest import get_image_label, get_image_kernels, get_isd, convert_kernels, compare_dicts, get_table_data from ale.drivers.co_drivers import CassiniIssPds3LabelNaifSpiceDriver, CassiniIssIsisLabelNaifSpiceDriver from ale.drivers.co_drivers import CassiniIssPds3LabelNaifSpiceDriver, CassiniIssIsisLabelNaifSpiceDriver, CassiniVimsIsisLabelNaifSpiceDriver @pytest.fixture() @pytest.fixture() def test_kernels(scope="module", autouse=True): def test_iss_kernels(scope="module", autouse=True): kernels = get_image_kernels("N1702360370_1") kernels = get_image_kernels("N1702360370_1") updated_kernels, binary_kernels = convert_kernels(kernels) updated_kernels, binary_kernels = convert_kernels(kernels) yield updated_kernels yield updated_kernels for kern in binary_kernels: for kern in binary_kernels: os.remove(kern) os.remove(kern) def test_load_pds(test_kernels): @pytest.fixture() def test_vims_kernels(scope="module", autouse=True): kernels = get_image_kernels("v1514284191_1") updated_kernels, binary_kernels = convert_kernels(kernels) yield updated_kernels for kern in binary_kernels: os.remove(kern) def test_load_pds(test_iss_kernels): label_file = get_image_label("N1702360370_1") label_file = get_image_label("N1702360370_1") compare_dict = get_isd("cassiniiss") compare_dict = get_isd("cassiniiss") isd_str = ale.loads(label_file, props={'kernels': test_kernels}) isd_str = ale.loads(label_file, props={'kernels': test_iss_kernels}) isd_obj = json.loads(isd_str) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) print(json.dumps(isd_obj, indent=2)) assert compare_dicts(isd_obj, compare_dict) == [] assert compare_dicts(isd_obj, compare_dict) == [] Loading @@ -43,18 +48,28 @@ def test_load_isis(): x = compare_dicts(isd_obj, compare_dict) x = compare_dicts(isd_obj, compare_dict) assert x == [] assert x == [] def test_load_isis_naif(test_kernels): def test_load_iss_isis_naif(test_iss_kernels): label_file = get_image_label("N1702360370_1") label_file = get_image_label("N1702360370_1") compare_dict = get_isd("cassiniiss") compare_dict = get_isd("cassiniiss") isd_str = ale.loads(label_file, props={"kernels": test_kernels}) isd_str = ale.loads(label_file, props={"kernels": test_iss_kernels}) isd_obj = json.loads(isd_str) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) print(json.dumps(isd_obj, indent=2)) x = compare_dicts(isd_obj, compare_dict) x = compare_dicts(isd_obj, compare_dict) assert x == [] assert x == [] # ========= Test cassini pds3label and naifspice driver ========= def test_load_vims_isis_naif(test_vims_kernels): class test_cassini_pds3_naif(unittest.TestCase): label_file = get_image_label("v1514284191_1_vis", label_type="isis") compare_dict = get_isd("cassinivims") isd_str = ale.loads(label_file, props={"kernels": test_vims_kernels}) isd_obj = json.loads(isd_str) print(json.dumps(isd_obj, indent=2)) x = compare_dicts(isd_obj, compare_dict) assert x == [] # ========= Test cassini ISS pds3label and naifspice driver ========= class test_cassini_iss_pds3_naif(unittest.TestCase): def setUp(self): def setUp(self): label = get_image_label("N1702360370_1", "pds3") label = get_image_label("N1702360370_1", "pds3") Loading Loading @@ -142,8 +157,8 @@ class test_cassini_pds3_naif(unittest.TestCase): assert len(frame_chain.nodes()) == 0 assert len(frame_chain.nodes()) == 0 from_spice.assert_called_with(center_ephemeris_time=2.4, ephemeris_times=[2.4], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) from_spice.assert_called_with(center_ephemeris_time=2.4, ephemeris_times=[2.4], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) # ========= Test cassini isislabel and naifspice driver ========= # ========= Test cassini ISS isislabel and naifspice driver ========= class test_cassini_isis_naif(unittest.TestCase): class test_cassini_iss_isis_naif(unittest.TestCase): def setUp(self): def setUp(self): label = get_image_label("N1702360370_1", "isis3") label = get_image_label("N1702360370_1", "isis3") Loading Loading @@ -213,3 +228,51 @@ class test_cassini_isis_naif(unittest.TestCase): frame_chain = self.driver.frame_chain frame_chain = self.driver.frame_chain assert len(frame_chain.nodes()) == 0 assert len(frame_chain.nodes()) == 0 from_spice.assert_called_with(center_ephemeris_time=2.4000000000000004, ephemeris_times=[2.4000000000000004], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) from_spice.assert_called_with(center_ephemeris_time=2.4000000000000004, ephemeris_times=[2.4000000000000004], nadir=False, sensor_frame=14082360, target_frame=-800, exact_ck_times=True) # ========= Test cassini ISS pds3label and naifspice driver ========= class test_cassini_vims_isis_naif(unittest.TestCase): def setUp(self): label = get_image_label("v1514284191_1_vis", "isis") self.driver = CassiniVimsIsisLabelNaifSpiceDriver(label) def test_vims_channel(self): assert self.driver.vims_channel == "VIS" def test_instrument_id(self): assert self.driver.instrument_id == "CASSINI_VIMS_V" def test_spacecraft_names(self): assert self.driver.spacecraft_name == "Cassini" def test_focal2pixel_lines(self): assert self.driver.exposure_duration == 10.0 def test_focal_length(self): assert self.driver.focal_length == 143.0 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_compute_vims_time(self): # This value isn't used for anything in the test, as it's only used for the # default focal length calculation if the filter can't be found. with patch('ale.drivers.co_drivers.spice.scs2e', return_value=12345) as scs2e: assert self.driver.compute_vims_time(1, 1, self.driver.image_samples, "VIS") scs2e.assert_called_with(-82, '1514284191') def test_ephemeris_start_time(self): with patch('ale.drivers.co_drivers.CassiniVimsIsisLabelNaifSpiceDriver.compute_vims_time', return_value=12345) as compute_vims_time: assert self.driver.ephemeris_start_time == 12345 compute_vims_time.assert_called_with(-0.5, -0.5, 64, mode="VIS") def test_ephemeris_stop_time(self): with patch('ale.drivers.co_drivers.CassiniVimsIsisLabelNaifSpiceDriver.compute_vims_time', return_value=12345) as compute_vims_time: assert self.driver.ephemeris_stop_time == 12345 compute_vims_time.assert_called_with(63.5, 63.5, 64, mode="VIS") def test_sensor_model_version(self): assert self.driver.sensor_model_version == 1 No newline at end of file