def setUp(self): self.testfile = self.get_input_file() parser = AstromParser() self.data = parser.parse(self.get_abs_path(self.testfile)) self.progress_manager = Mock(spec=LocalProgressManager) self.progress_manager.get_processed_indices.return_value = [] self.output_context = Mock(spec=WorkingContext)
def setUp(self): self.testfile = "data/1584431p15.measure3.cands.astrom" parser = AstromParser() self.data = parser.parse(self.get_abs_path(self.testfile)) self.progress_manager = Mock(spec=ProgressManager) self.progress_manager.get_processed_indices.return_value = [] self.writer = Mock()
class ParserTest(FileReadingTestCase): def setUp(self): self.parser = AstromParser() def parse(self, filename): return self.parser.parse(self.get_abs_path(filename)) def test_parse_observation_rawnames(self): astrom_data = self.parse(TEST_FILE_1) assert_that(astrom_data.observations, has_length(3)) assert_that(astrom_data.observations[0].rawname, equal_to("1584431p15")) assert_that(astrom_data.observations[1].rawname, equal_to("1584449p15")) assert_that(astrom_data.observations[2].rawname, equal_to("1584453p15")) def test_parse_observation_basic_details(self): astrom_data = self.parse(TEST_FILE_1) obs0 = astrom_data.observations[0] obs1 = astrom_data.observations[1] obs2 = astrom_data.observations[2] assert_that(obs0.expnum, equal_to("1584431")) assert_that(obs0.ftype, equal_to("p")) assert_that(obs0.ccdnum, equal_to("15")) assert_that(obs0.is_fake(), equal_to(False)) assert_that(obs1.expnum, equal_to("1584449")) assert_that(obs1.ftype, equal_to("p")) assert_that(obs1.ccdnum, equal_to("15")) assert_that(obs1.is_fake(), equal_to(False)) assert_that(obs2.expnum, equal_to("1584453")) assert_that(obs2.ftype, equal_to("p")) assert_that(obs2.ccdnum, equal_to("15")) assert_that(obs2.is_fake(), equal_to(False)) def test_parse_observation_headers(self): astrom_data = self.parse(TEST_FILE_1) obs0 = astrom_data.observations[0] obs1 = astrom_data.observations[1] obs2 = astrom_data.observations[2] assert_that(obs0.header, has_length(18)) assert_that( obs0.header, has_entries( { "MOPversion": "1.20", "MJD_OBS_CENTER": "2012 10 21.40516", "EXPTIME": "320.14", "THRES": "2.70", "FWHM": "2.90", "MAXCOUNT": "30000.0", "CRVAL1": "26.92871", "CRVAL2": "29.01125", "EXPNUM": "1584431", "SCALE": "0.185", "CHIP": "16", "CRPIX1": "-3227.00", "CRPIX2": "-75.96", "NAX1": "2112", "NAX2": "4644", "DETECTOR": "MegaPrime", "PHADU": "1.60", "RDNOIS": "3.00", } ), ) assert_that(obs1.header, has_length(18)) assert_that(obs2.header, has_length(18)) def test_parse_sys_header(self): astrom_data = self.parse(TEST_FILE_1) assert_that(astrom_data.sys_header, has_length(4)) assert_that( astrom_data.sys_header, has_entries({"RMIN": "0.5", "RMAX": "10.3", "ANGLE": "-19.9", "AWIDTH": "22.3"}) ) def test_parse_sources(self): astrom_data = self.parse(TEST_FILE_1) assert_that(astrom_data.sources, has_length(3)) ## Test source 0 source0 = astrom_data.sources[0] assert_that(source0.num_readings(), equal_to(3)) # Source 0 reading 0 data00 = source0.get_reading(0) assert_that(data00.x, equal_to(911.00)) assert_that(data00.y, equal_to(3967.12)) assert_that(data00.x0, equal_to(911.00)) assert_that(data00.y0, equal_to(3967.12)) assert_that(data00.ra, equal_to(26.6833367)) assert_that(data00.dec, equal_to(29.2203532)) assert_that(data00.xref, equal_to(911.00)) assert_that(data00.yref, equal_to(3967.12)) # Source 0 reading 1 data01 = source0.get_reading(1) assert_that(data01.x, equal_to(944.25)) assert_that(data01.y, equal_to(3964.03)) assert_that(data01.x0, equal_to(938.93)) assert_that(data01.y0, equal_to(3965.78)) assert_that(data01.ra, equal_to(26.6816808)) assert_that(data01.dec, equal_to(29.2202748)) assert_that(data01.xref, equal_to(911.00)) assert_that(data01.yref, equal_to(3967.12)) # Source 0 reading 2 data02 = source0.get_reading(2) assert_that(data02.x, equal_to(949.76)) assert_that(data02.y, equal_to(3963.12)) assert_that(data02.x0, equal_to(943.91)) assert_that(data02.y0, equal_to(3965.20)) assert_that(data02.ra, equal_to(26.6813840)) assert_that(data02.dec, equal_to(29.2202469)) assert_that(data02.xref, equal_to(911.00)) assert_that(data02.yref, equal_to(3967.12)) ## Test source 1 assert_that(astrom_data.sources[1].num_readings(), equal_to(3)) ## Test source 2 source2 = astrom_data.sources[2] assert_that(source2.num_readings(), equal_to(3)) # Source 2 reading 2 data22 = source2.get_reading(2) assert_that(data22.x, equal_to(1800.48)) assert_that(data22.y, equal_to(1843.53)) assert_that(data22.x0, equal_to(1795.10)) assert_that(data22.y0, equal_to(1845.71)) assert_that(data22.ra, equal_to(26.6311063)) assert_that(data22.dec, equal_to(29.1102185)) assert_that(data22.xref, equal_to(1698.04)) assert_that(data22.yref, equal_to(1842.46)) def test_parse_source_readings_have_observations(self): astrom_data = self.parse(TEST_FILE_1) obs0 = astrom_data.observations[0] obs1 = astrom_data.observations[1] obs2 = astrom_data.observations[2] source0 = astrom_data.sources[0] assert_that(source0.get_reading(0).obs, same_instance(obs0)) assert_that(source0.get_reading(1).obs, same_instance(obs1)) assert_that(source0.get_reading(2).obs, same_instance(obs2)) source1 = astrom_data.sources[1] assert_that(source1.get_reading(0).obs, same_instance(obs0)) assert_that(source1.get_reading(1).obs, same_instance(obs1)) assert_that(source1.get_reading(2).obs, same_instance(obs2)) source2 = astrom_data.sources[2] assert_that(source2.get_reading(0).obs, same_instance(obs0)) assert_that(source2.get_reading(1).obs, same_instance(obs1)) assert_that(source2.get_reading(2).obs, same_instance(obs2)) def test_parse_file2_had_neg_crval2(self): astrom_data = self.parse(TEST_FILE_2) assert_that(astrom_data.sources, has_length(1)) assert_that(astrom_data.observations, has_length(3)) obs_names = [obs.rawname for obs in astrom_data.observations] assert_that(obs_names, contains("1616681p22", "1616692p22", "1616703p22")) def test_parse_source_reference_point(self): astrom_data = self.parse(TEST_FILE_2) source = astrom_data.get_sources()[0] reading0 = source.get_reading(0) reading1 = source.get_reading(1) reading2 = source.get_reading(2) delta = 0.00000001 assert_that(reading0.reference_source_point[0], close_to(560.06, delta)) assert_that(reading0.reference_source_point[1], close_to(406.51, delta)) assert_that(reading1.reference_source_point[0], close_to(562.82, delta)) assert_that(reading1.reference_source_point[1], close_to(406.68, delta)) assert_that(reading2.reference_source_point[0], close_to(564.44, delta)) assert_that(reading2.reference_source_point[1], close_to(406.03, delta)) def test_reading_coordinate_offsets(self): astrom_data = self.parse(TEST_FILE_2) source = astrom_data.get_sources()[0] reading0 = source.get_reading(0) reading1 = source.get_reading(1) reading2 = source.get_reading(2) delta = 0.00000001 assert_that(reading0.get_coordinate_offset(reading0)[0], close_to(0, delta)) assert_that(reading0.get_coordinate_offset(reading0)[1], close_to(0, delta)) assert_that(reading0.get_coordinate_offset(reading1)[0], close_to(-2.76, delta)) assert_that(reading0.get_coordinate_offset(reading1)[1], close_to(-0.17, delta)) assert_that(reading0.get_coordinate_offset(reading2)[0], close_to(-4.38, delta)) assert_that(reading0.get_coordinate_offset(reading2)[1], close_to(0.48, delta)) def test_parse_fake_file(self): astrom_data = self.parse(FK_FILE) assert_that(astrom_data.observations, has_length(3)) assert_that(astrom_data.get_sources(), has_length(21)) obs0 = astrom_data.observations[0] assert_that(obs0.rawname, equal_to("fk1616682s00")) assert_that(obs0.expnum, equal_to("1616682")) assert_that(obs0.ftype, equal_to("s")) assert_that(obs0.ccdnum, equal_to("00")) assert_that(obs0.is_fake(), equal_to(True))
class ParserTest(FileReadingTestCase): def setUp(self): self.parser = AstromParser() def parse(self, filename): return self.parser.parse(self.get_abs_path(filename)) def test_parse_observation_rawnames(self): astrom_data = self.parse(TEST_FILE_1) assert_that(astrom_data.observations, has_length(3)) assert_that(astrom_data.observations[0].rawname, equal_to("1584431p15")) assert_that(astrom_data.observations[1].rawname, equal_to("1584449p15")) assert_that(astrom_data.observations[2].rawname, equal_to("1584453p15")) def test_parse_observation_basic_details(self): astrom_data = self.parse(TEST_FILE_1) obs0 = astrom_data.observations[0] obs1 = astrom_data.observations[1] obs2 = astrom_data.observations[2] assert_that(obs0.expnum, equal_to("1584431")) assert_that(obs0.ftype, equal_to("p")) assert_that(obs0.ccdnum, equal_to("15")) assert_that(obs0.is_fake(), equal_to(False)) assert_that(obs1.expnum, equal_to("1584449")) assert_that(obs1.ftype, equal_to("p")) assert_that(obs1.ccdnum, equal_to("15")) assert_that(obs1.is_fake(), equal_to(False)) assert_that(obs2.expnum, equal_to("1584453")) assert_that(obs2.ftype, equal_to("p")) assert_that(obs2.ccdnum, equal_to("15")) assert_that(obs2.is_fake(), equal_to(False)) def test_parse_observation_headers(self): astrom_data = self.parse(TEST_FILE_1) obs0 = astrom_data.observations[0] obs1 = astrom_data.observations[1] obs2 = astrom_data.observations[2] assert_that(obs0.header, has_length(18)) assert_that(obs0.header, has_entries( {"MOPversion": "1.20", "MJD_OBS_CENTER": "2012 10 21.40516", "EXPTIME": "320.14", "THRES": "2.70", "FWHM": "2.90", "MAXCOUNT": "30000.0", "CRVAL1": "26.92871", "CRVAL2": "29.01125", "EXPNUM": "1584431", "SCALE": "0.185", "CHIP": "16", "CRPIX1": "-3227.00", "CRPIX2": "-75.96", "NAX1": "2112", "NAX2": "4644", "DETECTOR": "MegaPrime", "PHADU": "1.60", "RDNOIS": "3.00"} )) assert_that(obs1.header, has_length(18)) assert_that(obs2.header, has_length(18)) def test_parse_sys_header(self): astrom_data = self.parse(TEST_FILE_1) assert_that(astrom_data.sys_header, has_length(4)) assert_that(astrom_data.sys_header, has_entries( {"RMIN": "0.5", "RMAX": "10.3", "ANGLE": "-19.9", "AWIDTH": "22.3"} )) def test_parse_sources(self): astrom_data = self.parse(TEST_FILE_1) assert_that(astrom_data.sources, has_length(3)) ## Test source 0 source0 = astrom_data.sources[0] assert_that(source0.num_readings(), equal_to(3)) # Source 0 reading 0 data00 = source0.get_reading(0) assert_that(data00.x, equal_to(911.00)) assert_that(data00.y, equal_to(3967.12)) assert_that(data00.x0, equal_to(911.00)) assert_that(data00.y0, equal_to(3967.12)) assert_that(data00.ra, equal_to(26.6833367)) assert_that(data00.dec, equal_to(29.2203532)) assert_that(data00.xref, equal_to(911.00)) assert_that(data00.yref, equal_to(3967.12)) # Source 0 reading 1 data01 = source0.get_reading(1) assert_that(data01.x, equal_to(944.25)) assert_that(data01.y, equal_to(3964.03)) assert_that(data01.x0, equal_to(938.93)) assert_that(data01.y0, equal_to(3965.78)) assert_that(data01.ra, equal_to(26.6816808)) assert_that(data01.dec, equal_to(29.2202748)) assert_that(data01.xref, equal_to(911.00)) assert_that(data01.yref, equal_to(3967.12)) # Source 0 reading 2 data02 = source0.get_reading(2) assert_that(data02.x, equal_to(949.76)) assert_that(data02.y, equal_to(3963.12)) assert_that(data02.x0, equal_to(943.91)) assert_that(data02.y0, equal_to(3965.20)) assert_that(data02.ra, equal_to(26.6813840)) assert_that(data02.dec, equal_to(29.2202469)) assert_that(data02.xref, equal_to(911.00)) assert_that(data02.yref, equal_to(3967.12)) ## Test source 1 assert_that(astrom_data.sources[1].num_readings(), equal_to(3)) ## Test source 2 source2 = astrom_data.sources[2] assert_that(source2.num_readings(), equal_to(3)) # Source 2 reading 2 data22 = source2.get_reading(2) assert_that(data22.x, equal_to(1800.48)) assert_that(data22.y, equal_to(1843.53)) assert_that(data22.x0, equal_to(1795.10)) assert_that(data22.y0, equal_to(1845.71)) assert_that(data22.ra, equal_to(26.6311063)) assert_that(data22.dec, equal_to(29.1102185)) assert_that(data22.xref, equal_to(1698.04)) assert_that(data22.yref, equal_to(1842.46)) def test_parse_source_readings_have_observations(self): astrom_data = self.parse(TEST_FILE_1) obs0 = astrom_data.observations[0] obs1 = astrom_data.observations[1] obs2 = astrom_data.observations[2] source0 = astrom_data.sources[0] assert_that(source0.get_reading(0).obs, same_instance(obs0)) assert_that(source0.get_reading(1).obs, same_instance(obs1)) assert_that(source0.get_reading(2).obs, same_instance(obs2)) source1 = astrom_data.sources[1] assert_that(source1.get_reading(0).obs, same_instance(obs0)) assert_that(source1.get_reading(1).obs, same_instance(obs1)) assert_that(source1.get_reading(2).obs, same_instance(obs2)) source2 = astrom_data.sources[2] assert_that(source2.get_reading(0).obs, same_instance(obs0)) assert_that(source2.get_reading(1).obs, same_instance(obs1)) assert_that(source2.get_reading(2).obs, same_instance(obs2)) def test_parse_file2_had_neg_crval2(self): astrom_data = self.parse(TEST_FILE_2) assert_that(astrom_data.sources, has_length(1)) assert_that(astrom_data.observations, has_length(3)) obs_names = [obs.rawname for obs in astrom_data.observations] assert_that(obs_names, contains("1616681p22", "1616692p22", "1616703p22")) def test_parse_source_reference_point(self): astrom_data = self.parse(TEST_FILE_2) source = astrom_data.get_sources()[0] reading0 = source.get_reading(0) reading1 = source.get_reading(1) reading2 = source.get_reading(2) delta = 0.00000001 assert_that(reading0.reference_source_point[0], close_to(560.06, delta)) assert_that(reading0.reference_source_point[1], close_to(406.51, delta)) assert_that(reading1.reference_source_point[0], close_to(562.82, delta)) assert_that(reading1.reference_source_point[1], close_to(406.68, delta)) assert_that(reading2.reference_source_point[0], close_to(564.44, delta)) assert_that(reading2.reference_source_point[1], close_to(406.03, delta)) def test_reading_coordinate_offsets(self): astrom_data = self.parse(TEST_FILE_2) source = astrom_data.get_sources()[0] reading0 = source.get_reading(0) reading1 = source.get_reading(1) reading2 = source.get_reading(2) delta = 0.00000001 assert_that(reading0.get_coordinate_offset(reading0)[0], close_to(0, delta)) assert_that(reading0.get_coordinate_offset(reading0)[1], close_to(0, delta)) assert_that(reading0.get_coordinate_offset(reading1)[0], close_to(-2.76, delta)) assert_that(reading0.get_coordinate_offset(reading1)[1], close_to(-0.17, delta)) assert_that(reading0.get_coordinate_offset(reading2)[0], close_to(-4.38, delta)) assert_that(reading0.get_coordinate_offset(reading2)[1], close_to(0.48, delta)) def test_parse_fake_file(self): astrom_data = self.parse(FK_FILE) assert_that(astrom_data.observations, has_length(3)) assert_that(astrom_data.get_sources(), has_length(21)) obs0 = astrom_data.observations[0] assert_that(obs0.rawname, equal_to("fk1616682s00")) assert_that(obs0.expnum, equal_to("1616682")) assert_that(obs0.ftype, equal_to("s")) assert_that(obs0.ccdnum, equal_to("00")) assert_that(obs0.is_fake(), equal_to(True))