def setUp(self): astrom_data = AstromParser().parse( self.get_abs_path("data/1616681p22.measure3.cands.astrom")) self.source = astrom_data.get_sources()[0] self.reading0 = self.source.get_reading(0) self.reading1 = self.source.get_reading(1) self.reading2 = self.source.get_reading(2) self.undertest = TripletFocusCalculator(self.source)
def setUp(self): astrom_data = AstromParser().parse( self.get_abs_path("data/1616681p22.measure3.cands.astrom")) self.source = astrom_data.get_sources()[0] self.reading0 = self.source.get_reading(0) self.reading1 = self.source.get_reading(1) self.reading2 = self.source.get_reading(2) self.needs_apcor = False self.callback = Mock()
def test_download_callback(self): astrom_data = AstromParser().parse( self.get_abs_path("data/1616681p22.measure3.cands.astrom")) source = astrom_data.get_sources()[0] reading = source.get_reading(0) callback = Mock() downloadable_item = DownloadableItem(reading, source, True, callback) self.undertest.do_download(downloadable_item) callback.assert_called_once_with(reading, self.downloaded_image)
def setUp(self): test_file = "data/image_reading/realstest2.measure3.reals.astrom" astrom_data = AstromParser().parse(self.get_abs_path(test_file)) self.reading = astrom_data.get_sources()[0].get_reading(0) self.original_observed_x = self.reading.x self.original_observed_y = self.reading.y self.offset_x = 10 self.offset_y = 15 coordinate_converter = CoordinateConverter(self.offset_x, self.offset_y) self.undertest = SourceCutout(self.reading, Mock(), coordinate_converter) self.mock_update_ra_dec = Mock() self.undertest._update_ra_dec = self.mock_update_ra_dec
def setUp(self): test_file = "data/image_reading/realstest2.measure3.reals.astrom" astrom_data = AstromParser().parse(self.get_abs_path(test_file)) self.reading = astrom_data.get_sources()[0].get_reading(0) self.original_observed_x = self.reading.x self.original_observed_y = self.reading.y self.offset_x = 10 self.offset_y = 15 coordinate_converter = CoordinateConverter(self.offset_x, self.offset_y) self.undertest = SourceCutout(self.reading, Mock()) self.mock_update_ra_dec = Mock() self.undertest._update_ra_dec = self.mock_update_ra_dec
def setUp(self): test_file = self.path("realstest2.measure3.reals.astrom") astrom_data = AstromParser().parse(test_file) self.reading = astrom_data.get_sources()[0].get_reading(0) # Load the real image hdulist = fits.open(self.path("cutout-1616687p.fits")) with open(self.path("1616687p10.apcor")) as fh: apcor = ApcorData.from_string(fh.read()) # NOTE: the test image # vos://cadc.nrc.ca~vospace/OSSOS/dbimages/1616687/1616687p.fits # has cutout: [11][1449:1199,1429:1179] and is inverted. # # Therefore the first reading at (772.13, 3334.70) in observed # coordinates is at # (NAX1 - max cutout x, NAX2 - max cutout y) # = (2112 - 1449, 4644 - 1429) = (663, 3215) self.original_pixel_x = 663 self.original_pixel_y = 3215 self.original_observed_x = 772.13 self.original_observed_y = 3334.70 x_offset = self.original_observed_x - self.original_pixel_x y_offset = self.original_observed_y - self.original_pixel_y self.undertest = SourceCutout(self.reading, hdulist, CoordinateConverter(x_offset, y_offset), apcor=apcor) assert_that(self.undertest.observed_x, equal_to(self.original_observed_x)) assert_that(self.undertest.observed_y, equal_to(self.original_observed_y)) assert_that(self.undertest.pixel_x, equal_to(self.original_pixel_x)) assert_that(self.undertest.pixel_y, equal_to(self.original_pixel_y))
class TransitionAcknowledgementModelTest(FileReadingTestCase): def setUp(self): events.unsub_all() self.workunit_provider = Mock(spec=PreFetchingWorkUnitProvider) self.image_manager = Mock(spec=ImageManager) self.synchronization_manager = Mock(spec=SynchronizationManager) self.model = TransAckValidationModel(self.workunit_provider, self.image_manager, self.synchronization_manager) self.data = AstromParser().parse( self.get_abs_path( "data/model_testdir_1/1584431p15.measure3.reals.astrom")) self.output_context = Mock(spec=LocalDirectoryWorkingContext) self.progress_manager = MagicMock(spec=LocalProgressManager) self.sources = self.data.get_sources() def use_reals_workunit(self): self.workunit = RealsWorkUnit("file", self.data, self.progress_manager, self.output_context) self.model.add_workunit(self.workunit) assert_that(self.model.get_current_reading(), equal_to(self.sources[0].get_reading(0))) def use_cands_workunit(self): self.workunit = CandidatesWorkUnit("file", self.data, self.progress_manager, self.output_context) self.workunit.get_writer = Mock() self.model.add_workunit(self.workunit) assert_that(self.model.get_current_reading(), equal_to(self.sources[0].get_reading(0))) def test_ignores_change_observations_while_transitioning_observations( self): self.use_reals_workunit() first_reading = self.sources[0].get_reading(0) second_reading = self.sources[0].get_reading(1) third_reading = self.sources[0].get_reading(2) assert_that(self.model.get_current_reading(), equal_to(first_reading)) # This should cause the model to enter the waiting state. self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) self.model.previous_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) self.model.acknowledge_image_displayed() self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(third_reading)) def test_ignores_change_sources_while_transitioning_sources(self): self.use_reals_workunit() first_source = self.sources[0] second_source = self.sources[1] third_source = self.sources[2] assert_that(self.model.get_current_source(), equal_to(first_source)) # This should cause the model to enter the waiting state. self.model.next_source() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.next_source() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.previous_source() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.acknowledge_image_displayed() self.model.next_source() assert_that(self.model.get_current_source(), equal_to(third_source)) def test_ignores_next_item_while_transitioning_items(self): self.use_cands_workunit() first_source = self.sources[0] second_source = self.sources[1] third_source = self.sources[2] assert_that(self.model.get_current_source(), equal_to(first_source)) # This should cause the model to enter the waiting state. self.model.next_item() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.next_item() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.acknowledge_image_displayed() self.model.next_item() assert_that(self.model.get_current_source(), equal_to(third_source)) def test_reals_ignores_accept_while_transitioning_observations(self): self.use_reals_workunit() first_reading = self.sources[0].get_reading(0) second_reading = self.sources[0].get_reading(1) assert_that(self.model.get_current_reading(), equal_to(first_reading)) # This should cause the model to enter the waiting state. self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_reals_ignores_reject_while_transitioning_observations(self): self.use_reals_workunit() first_reading = self.sources[0].get_reading(0) second_reading = self.sources[0].get_reading(1) assert_that(self.model.get_current_reading(), equal_to(first_reading)) # This should cause the model to enter the waiting state. self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_allow_accept_while_transitioning_observations(self): self.use_cands_workunit() self.model.next_obs() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_allow_reject_while_transitioning_observations(self): self.use_cands_workunit() self.model.next_obs() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_ignore_accept_while_transitioning_sources(self): self.use_cands_workunit() # This should cause the model to enter the waiting state. self.model.next_source() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_ignore_reject_while_transitioning_sources(self): self.use_cands_workunit() # This should cause the model to enter the waiting state. self.model.next_source() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) @patch("daomop.gui.models.validation.events") def test_additional_change_image_events_not_sent_when_waiting( self, events_mock): self.use_reals_workunit() # This should cause the model to enter the waiting state. self.model.next_item() assert_that(events_mock.send.call_count, equal_to(1)) self.model.next_item() assert_that(events_mock.send.call_count, equal_to(1)) self.model.acknowledge_image_displayed() self.model.next_item() assert_that(events_mock.send.call_count, equal_to(2))
class TransitionAcknowledgementModelTest(FileReadingTestCase): def setUp(self): events.unsub_all() self.workunit_provider = Mock(spec=PreFetchingWorkUnitProvider) self.image_manager = Mock(spec=ImageManager) self.synchronization_manager = Mock(spec=SynchronizationManager) self.model = TransAckValidationModel(self.workunit_provider, self.image_manager, self.synchronization_manager) self.data = AstromParser().parse( self.get_abs_path("data/model_testdir_1/1584431p15.measure3.reals.astrom")) self.output_context = Mock(spec=LocalDirectoryWorkingContext) self.progress_manager = MagicMock(spec=LocalProgressManager) self.sources = self.data.get_sources() def use_reals_workunit(self): self.workunit = RealsWorkUnit("file", self.data, self.progress_manager, self.output_context) self.model.add_workunit(self.workunit) assert_that(self.model.get_current_reading(), equal_to(self.sources[0].get_reading(0))) def use_cands_workunit(self): self.workunit = CandidatesWorkUnit("file", self.data, self.progress_manager, self.output_context) self.workunit.get_writer = Mock() self.model.add_workunit(self.workunit) assert_that(self.model.get_current_reading(), equal_to(self.sources[0].get_reading(0))) def test_ignores_change_observations_while_transitioning_observations(self): self.use_reals_workunit() first_reading = self.sources[0].get_reading(0) second_reading = self.sources[0].get_reading(1) third_reading = self.sources[0].get_reading(2) assert_that(self.model.get_current_reading(), equal_to(first_reading)) # This should cause the model to enter the waiting state. self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) self.model.previous_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) self.model.acknowledge_image_displayed() self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(third_reading)) def test_ignores_change_sources_while_transitioning_sources(self): self.use_reals_workunit() first_source = self.sources[0] second_source = self.sources[1] third_source = self.sources[2] assert_that(self.model.get_current_source(), equal_to(first_source)) # This should cause the model to enter the waiting state. self.model.next_source() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.next_source() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.previous_source() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.acknowledge_image_displayed() self.model.next_source() assert_that(self.model.get_current_source(), equal_to(third_source)) def test_ignores_next_item_while_transitioning_items(self): self.use_cands_workunit() first_source = self.sources[0] second_source = self.sources[1] third_source = self.sources[2] assert_that(self.model.get_current_source(), equal_to(first_source)) # This should cause the model to enter the waiting state. self.model.next_item() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.next_item() assert_that(self.model.get_current_source(), equal_to(second_source)) self.model.acknowledge_image_displayed() self.model.next_item() assert_that(self.model.get_current_source(), equal_to(third_source)) def test_reals_ignores_accept_while_transitioning_observations(self): self.use_reals_workunit() first_reading = self.sources[0].get_reading(0) second_reading = self.sources[0].get_reading(1) assert_that(self.model.get_current_reading(), equal_to(first_reading)) # This should cause the model to enter the waiting state. self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_reals_ignores_reject_while_transitioning_observations(self): self.use_reals_workunit() first_reading = self.sources[0].get_reading(0) second_reading = self.sources[0].get_reading(1) assert_that(self.model.get_current_reading(), equal_to(first_reading)) # This should cause the model to enter the waiting state. self.model.next_obs() assert_that(self.model.get_current_reading(), equal_to(second_reading)) assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_allow_accept_while_transitioning_observations(self): self.use_cands_workunit() self.model.next_obs() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_allow_reject_while_transitioning_observations(self): self.use_cands_workunit() self.model.next_obs() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_ignore_accept_while_transitioning_sources(self): self.use_cands_workunit() # This should cause the model to enter the waiting state. self.model.next_source() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.accept_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) def test_cands_ignore_reject_while_transitioning_sources(self): self.use_cands_workunit() # This should cause the model to enter the waiting state. self.model.next_source() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(0)) self.model.acknowledge_image_displayed() self.model.reject_current_item() assert_that(self.model.get_num_items_processed(), equal_to(1)) @patch("ossos.gui.models.validation.events") def test_additional_change_image_events_not_sent_when_waiting(self, events_mock): self.use_reals_workunit() # This should cause the model to enter the waiting state. self.model.next_item() assert_that(events_mock.send.call_count, equal_to(1)) self.model.next_item() assert_that(events_mock.send.call_count, equal_to(1)) self.model.acknowledge_image_displayed() self.model.next_item() assert_that(events_mock.send.call_count, equal_to(2))