def test_pad_earlier_segments_area(self, AreaDefinition): """Test _pad_earlier_segments_area().""" from satpy.readers.yaml_reader import _pad_earlier_segments_area as pesa seg2_area = MagicMock() seg2_area.proj_dict = 'proj_dict' seg2_area.area_extent = [0, 1000, 200, 500] seg2_area.shape = [200, 500] get_area_def = MagicMock() get_area_def.return_value = seg2_area fh_2 = MagicMock() filetype_info = {'expected_segments': 2} filename_info = {'segment': 2} fh_2.filetype_info = filetype_info fh_2.filename_info = filename_info fh_2.get_area_def = get_area_def file_handlers = [fh_2] dataid = 'dataid' area_defs = {2: seg2_area} res = pesa(file_handlers, dataid, area_defs) self.assertEqual(len(res), 2) seg1_extent = (0, 500, 200, 0) expected_call = ('fill', 'fill', 'fill', 'proj_dict', 500, 200, seg1_extent) AreaDefinition.assert_called_once_with(*expected_call)
def test_pad_earlier_segments_area_for_FCI_padding(self, AreaDefinition): """Test _pad_earlier_segments_area() for the FCI case.""" from satpy.readers.yaml_reader import _pad_earlier_segments_area as pesa seg2_area = MagicMock() seg2_area.proj_dict = 'proj_dict' seg2_area.area_extent = [0, 1000, 200, 500] seg2_area.shape = [278, 5568] get_area_def = MagicMock() get_area_def.return_value = seg2_area fh_2 = MagicMock() filetype_info = {'expected_segments': 2, 'file_type': 'fci_l1c_fdhsi'} filename_info = {'segment': 2} fh_2.filetype_info = filetype_info fh_2.filename_info = filename_info fh_2.get_area_def = get_area_def file_handlers = [fh_2] dataid = 'dataid' area_defs = {2: seg2_area} res = pesa(file_handlers, dataid, area_defs) self.assertEqual(len(res), 2) # the previous chunk size is 278, which is exactly double the size of the FCI chunk 1 size (139) # therefore, the new vertical area extent should be half of the previous size (1000-500)/2=250. # The new area extent lower-left row is therefore 500-250=250 seg1_extent = (0, 500, 200, 250) expected_call = ('fill', 'fill', 'fill', 'proj_dict', 5568, 139, seg1_extent) AreaDefinition.assert_called_once_with(*expected_call)
def test_pad_later_segments_area_for_FCI_padding(self, AreaDefinition): """Test _pad_later_segments_area() in the FCI padding case.""" from satpy.readers.yaml_reader import _pad_later_segments_area as plsa seg1_area = MagicMock() seg1_area.proj_dict = 'proj_dict' seg1_area.area_extent = [0, 1000, 200, 500] seg1_area.shape = [556, 11136] get_area_def = MagicMock() get_area_def.return_value = seg1_area fh_1 = MagicMock() filetype_info = {'expected_segments': 2, 'file_type': 'fci_l1c_fdhsi'} filename_info = {'segment': 1} fh_1.filetype_info = filetype_info fh_1.filename_info = filename_info fh_1.get_area_def = get_area_def file_handlers = [fh_1] dataid = 'dataid' res = plsa(file_handlers, dataid) self.assertEqual(len(res), 2) # the previous chunk size is 556, which is exactly double the size of the FCI chunk 2 size (278) # therefore, the new vertical area extent should be half of the previous size (1000-500)/2=250. # The new area extent lower-left row is therefore 1000+250=1250 seg2_extent = (0, 1250, 200, 1000) expected_call = ('fill', 'fill', 'fill', 'proj_dict', 11136, 278, seg2_extent) AreaDefinition.assert_called_once_with(*expected_call)