Skip to content
This repository was archived by the owner on Apr 27, 2022. It is now read-only.

Commit ff2b06f

Browse files
committed
extend test coverage
1 parent 153e32b commit ff2b06f

File tree

2 files changed

+30
-9
lines changed

2 files changed

+30
-9
lines changed

agg_regrid/tests/test_AreaWeighted.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@ def test_regridder(self):
4646
expected = [mock.call(self.src, self.tgt, buffer_depth=self.depth)]
4747
self.assertEqual(mocker.mock_calls, expected)
4848

49+
def test_regridder_with_buffer_depth(self):
50+
depth = mock.sentinel.buffer_depth
51+
regridder = 'agg_regrid._AreaWeightedRegridder'
52+
with mock.patch(regridder, autospec=True,
53+
return_value=self.regridder) as mocker:
54+
scheme = AreaWeighted(buffer_depth=depth)
55+
result = scheme.regridder(self.src, self.tgt)
56+
self.assertEqual(result, self.regridder)
57+
expected = [mock.call(self.src, self.tgt, buffer_depth=depth)]
58+
self.assertEqual(mocker.mock_calls, expected)
59+
4960

5061
if __name__ == '__main__':
5162
unittest.main()

agg_regrid/tests/test__AreadWeightedRegridder.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,12 @@ def setUp(self):
117117
self.tgt_cube = mock.Mock(spec=iris.cube.Cube)
118118
self.sx_dim = mock.sentinel.sx_dim
119119
self.sy_dim = mock.sentinel.sy_dim
120-
coord_dims = mock.Mock(side_effect=([self.sx_dim], [self.sy_dim]))
120+
coord_dims = mock.Mock(side_effect=([self.sx_dim], [self.sy_dim],
121+
[self.sx_dim], [self.sy_dim]))
121122
self.metadata = dict(standard_name='air_pressure',
122123
long_name='long_name', var_name='var_name',
123124
units='Pa', attributes={}, cell_methods=())
124125
self.data = mock.sentinel.data
125-
self.cube = mock.Mock(spec=iris.cube.Cube, coord_dims=coord_dims,
126-
metadata=self.metadata, dim_coords=(),
127-
aux_coords=(), data=self.data)
128126
scrs = mock.sentinel.scrs
129127
self.sxp = mock.sentinel.sx_points
130128
self.sxb = mock.sentinel.sx_contiguous_bounds
@@ -141,10 +139,14 @@ def setUp(self):
141139
gy = mock.Mock(coord_system=tcrs)
142140
self.src_grid = (self.sx, self.sy)
143141
tgt_grid = (gx, gy)
142+
dim_coords = [self.sx, self.sy]
143+
self.cube = mock.Mock(spec=iris.cube.Cube, coord_dims=coord_dims,
144+
metadata=self.metadata, dim_coords=dim_coords,
145+
aux_coords=(), data=self.data)
144146
self.side_effect = (self.src_grid, tgt_grid)
145147
self.snapshot_grid = 'agg_regrid.snapshot_grid'
146148
self.get_xy_dim_coords = 'agg_regrid.get_xy_dim_coords'
147-
self.depth = DEFAULT_BUFFER_DEPTH
149+
self.depth = mock.sentinel.buffer_depth
148150

149151
def test_bad_src_cube(self):
150152
with mock.patch(self.snapshot_grid, side_effect=self.side_effect):
@@ -179,10 +181,14 @@ def test_same_crs(self):
179181
gxx, gyy = (mock.sentinel.gxx, mock.sentinel.gyy)
180182
with mock.patch('numpy.meshgrid', return_value=(gxx, gyy)):
181183
data = 1
182-
with mock.patch('agg_regrid.agg',
183-
return_value=data) as magg:
184-
regridder = Regridder(self.src_cube, self.tgt_cube)
185-
result = regridder(self.cube)
184+
mock_agg = 'agg_regrid.agg'
185+
with mock.patch(mock_agg, return_value=data) as magg:
186+
mock_add_dim_coord = 'iris.cube.Cube.add_dim_coord'
187+
with mock.patch(mock_add_dim_coord) as madd:
188+
regridder = Regridder(self.src_cube,
189+
self.tgt_cube,
190+
buffer_depth=self.depth)
191+
result = regridder(self.cube)
186192

187193
self.assertEqual(regridder._sx_bounds, self.sxb)
188194
self.assertEqual(regridder._sy_bounds, self.syb)
@@ -192,9 +198,13 @@ def test_same_crs(self):
192198
self.syb, self.sx_dim, self.sy_dim, gxx, gyy,
193199
self.depth)]
194200
self.assertEqual(magg.call_args_list, expected)
201+
expected = [mock.call(self.sx.copy(), [self.sx_dim]),
202+
mock.call(self.sy.copy(), [self.sy_dim])]
203+
self.assertEqual(madd.call_args_list, expected)
195204
cube = iris.cube.Cube(data)
196205
cube.metadata = self.metadata
197206
self.assertEqual(result, cube)
207+
self.assertEqual(regridder.buffer_depth, self.depth)
198208

199209

200210
if __name__ == '__main__':

0 commit comments

Comments
 (0)