This needs a check that the return value of `cube.interpolate()` is actually taken from the return value of the interpolator. Otherwise you've not actually checked what the user receives!

I'd add the following to the setUp:
```python
self.interpolator.return_value = mock.sentinel.RESULT
```
And change/augment the actual test to:
```python
result = self.cube.interpolate(self.scheme, sample_points,
                              self.collapse_coord)
...
self.assertIs(result, mock.sentinel.RESULT)
```