Esempio n. 1
0
 def test_hours(self, mock_set):
     lower = 10
     upper = 20
     self.coord.bounds = [lower, upper]
     set_time_range(self.coord, mock.sentinel.grib)
     mock_set.assert_any_call(mock.sentinel.grib,
                              'indicatorOfUnitForTimeRange', 1)
     mock_set.assert_any_call(mock.sentinel.grib, 'lengthOfTimeRange',
                              upper - lower)
Esempio n. 2
0
 def test_hours(self, mock_set):
     lower = 10
     upper = 20
     self.coord.bounds = [lower, upper]
     set_time_range(self.coord, mock.sentinel.grib)
     mock_set.assert_any_call(mock.sentinel.grib,
                              'indicatorOfUnitForTimeRange', 1)
     mock_set.assert_any_call(mock.sentinel.grib,
                              'lengthOfTimeRange', upper - lower)
Esempio n. 3
0
 def test_non_scalar(self):
     coord = DimCoord([0, 1],
                      'time',
                      bounds=[[0, 1], [1, 2]],
                      units=Unit('hours since epoch', calendar='standard'))
     with self.assertRaisesRegexp(
             ValueError, 'Expected length one time '
             'coordinate, got 2 points'):
         set_time_range(coord, mock.sentinel.grib)
Esempio n. 4
0
 def test_days(self, mock_set):
     lower = 4
     upper = 6
     self.coord.bounds = [lower, upper]
     self.coord.units = Unit('days since epoch', calendar='standard')
     set_time_range(self.coord, mock.sentinel.grib)
     mock_set.assert_any_call(mock.sentinel.grib,
                              'indicatorOfUnitForTimeRange', 1)
     mock_set.assert_any_call(mock.sentinel.grib, 'lengthOfTimeRange',
                              (upper - lower) * 24)
Esempio n. 5
0
 def test_days(self, mock_set):
     lower = 4
     upper = 6
     self.coord.bounds = [lower, upper]
     self.coord.units = Unit('days since epoch', calendar='standard')
     set_time_range(self.coord, mock.sentinel.grib)
     mock_set.assert_any_call(mock.sentinel.grib,
                              'indicatorOfUnitForTimeRange', 1)
     mock_set.assert_any_call(mock.sentinel.grib,
                              'lengthOfTimeRange',
                              (upper - lower) * 24)
Esempio n. 6
0
 def test_fractional_hours(self, mock_set_long):
     lower = 10.0
     upper = 20.9
     self.coord.bounds = [lower, upper]
     with mock.patch('warnings.warn') as warn:
         set_time_range(self.coord, mock.sentinel.grib)
     msg = 'Truncating floating point lengthOfTimeRange 10.9 ' \
           'to integer value 10'
     warn.assert_called_once_with(msg)
     mock_set_long.assert_any_call(mock.sentinel.grib,
                                   'indicatorOfUnitForTimeRange', 1)
     mock_set_long.assert_any_call(mock.sentinel.grib, 'lengthOfTimeRange',
                                   int(upper - lower))
Esempio n. 7
0
 def test_fractional_hours(self, mock_set_long):
     lower = 10.0
     upper = 20.9
     self.coord.bounds = [lower, upper]
     with mock.patch('warnings.warn') as warn:
         set_time_range(self.coord, mock.sentinel.grib)
     msg = 'Truncating floating point lengthOfTimeRange 10.9 ' \
           'to integer value 10'
     warn.assert_called_once_with(msg)
     mock_set_long.assert_any_call(mock.sentinel.grib,
                                   'indicatorOfUnitForTimeRange', 1)
     mock_set_long.assert_any_call(mock.sentinel.grib,
                                   'lengthOfTimeRange', int(upper - lower))
Esempio n. 8
0
 def test_fractional_hours(self, mock_set_long):
     lower = 10.0
     upper = 20.9
     self.coord.bounds = [lower, upper]
     with warnings.catch_warnings(record=True) as warn:
         warnings.simplefilter("always")
         set_time_range(self.coord, mock.sentinel.grib)
     self.assertEqual(len(warn), 1)
     msg = 'Truncating floating point lengthOfTimeRange 10\.8?9+ ' \
           'to integer value 10'
     six.assertRegex(self, str(warn[0].message), msg)
     mock_set_long.assert_any_call(mock.sentinel.grib,
                                   'indicatorOfUnitForTimeRange', 1)
     mock_set_long.assert_any_call(mock.sentinel.grib, 'lengthOfTimeRange',
                                   int(upper - lower))
Esempio n. 9
0
 def test_fractional_hours(self, mock_set_long):
     lower = 10.0
     upper = 20.9
     self.coord.bounds = [lower, upper]
     with warnings.catch_warnings(record=True) as warn:
         warnings.simplefilter("always")
         set_time_range(self.coord, mock.sentinel.grib)
     self.assertEqual(len(warn), 1)
     msg = 'Truncating floating point lengthOfTimeRange 10\.8?9+ ' \
           'to integer value 10'
     six.assertRegex(self, str(warn[0].message), msg)
     mock_set_long.assert_any_call(mock.sentinel.grib,
                                   'indicatorOfUnitForTimeRange', 1)
     mock_set_long.assert_any_call(mock.sentinel.grib,
                                   'lengthOfTimeRange', int(upper - lower))
Esempio n. 10
0
 def test_three_bounds(self):
     self.coord.bounds = [0, 1, 2]
     with self.assertRaisesRegexp(
             ValueError, 'Expected time coordinate '
             'with two bounds, got 3 bounds'):
         set_time_range(self.coord, mock.sentinel.grib)
Esempio n. 11
0
 def test_non_scalar(self):
     coord = DimCoord([0, 1], 'time', bounds=[[0, 1], [1, 2]],
                      units=Unit('hours since epoch', calendar='standard'))
     with self.assertRaisesRegexp(ValueError, 'Expected length one time '
                                  'coordinate, got 2 points'):
         set_time_range(coord, mock.sentinel.grib)
Esempio n. 12
0
 def test_three_bounds(self):
     self.coord.bounds = [0, 1, 2]
     with self.assertRaisesRegexp(ValueError, 'Expected time coordinate '
                                  'with two bounds, got 3 bounds'):
         set_time_range(self.coord, mock.sentinel.grib)