コード例 #1
0
 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)
コード例 #2
0
    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(GRIB_API, mock_gribapi):
            with self.assertRaisesRegexp(ValueError,
                                         'The coord name referenced by the '
                                         'primary cell method'):
                type_of_statistical_processing(cube, grib, coord)
コード例 #3
0
    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(GRIB_API, mock_gribapi):
            type_of_statistical_processing(cube, grib, coord)

        mock_gribapi.assert_has_calls(mock.call.grib_set_long(
            grib, "typeOfStatisticalProcessing", 1))
コード例 #4
0
    def test_cell_method_coords_len_fail(self):
        cube = mock.Mock()
        cube.cell_methods = [mock.Mock(method='sum', coord_names=['time',
                                                                  'fp'])]

        coord = mock.Mock()
        coord.name = mock.Mock(return_value='time')

        grib = mock.Mock()
        mock_gribapi = mock.Mock(spec=gribapi)
        with mock.patch(GRIB_API, mock_gribapi):
            with self.assertRaisesRegexp(ValueError,
                                         'There are multiple coord names '
                                         'referenced by the primary cell '
                                         'method:'):
                type_of_statistical_processing(cube, grib, coord)