def test_stats_type_max(self, mock_set_long): grib = None cube = iris.cube.Cube(np.array([1.0])) time_unit = iris.unit.Unit('hours since 1970-01-01 00:00:00') time_coord = iris.coords.DimCoord([0.0], bounds=[0.0, 1], standard_name='time', units=time_unit) cube.add_aux_coord(time_coord, ()) cube.add_cell_method(iris.coords.CellMethod('minimum', time_coord)) grib_save_rules.type_of_statistical_processing(cube, grib, time_coord) mock_set_long.assert_any_call(grib, "typeOfStatisticalProcessing", 3)
def test_sum(self): cube = mock.Mock() cube.cell_methods = [mock.Mock(method='sum', coord_names=['ni'])] coord = mock.Mock() coord.name = mock.Mock(return_value='ni') grib = mock.Mock() mock_gribapi = mock.Mock(spec=gribapi) with mock.patch('iris.fileformats.grib.grib_save_rules.gribapi', mock_gribapi): type_of_statistical_processing(cube, grib, coord) mock_gribapi.assert_has_calls(mock.call.grib_set_long( grib, "typeOfStatisticalProcessing", 1))
def test_cell_method_coord_name_fail(self): cube = mock.Mock() cube.cell_methods = [mock.Mock(method='sum', coord_names=['time'])] coord = mock.Mock() coord.name = mock.Mock(return_value='forecast_period') grib = mock.Mock() mock_gribapi = mock.Mock(spec=gribapi) with mock.patch('iris.fileformats.grib.grib_save_rules.gribapi', mock_gribapi): with self.assertRaisesRegexp(ValueError, 'The coord name referenced by the ' 'primary cell method'): type_of_statistical_processing(cube, grib, coord)
def test_sum(self): cube = mock.Mock() cube.cell_methods = [mock.Mock(method='sum', coord_names=['ni'])] coord = mock.Mock() coord.name = mock.Mock(return_value='ni') grib = mock.Mock() mock_gribapi = mock.Mock(spec=gribapi) with mock.patch('iris.fileformats.grib.grib_save_rules.gribapi', mock_gribapi): type_of_statistical_processing(cube, grib, coord) mock_gribapi.assert_has_calls( mock.call.grib_set_long(grib, "typeOfStatisticalProcessing", 1))