def test_reduce_only_one_axis(self): def mean_only_one_axis(x, axis): if not isinstance(axis, (int, np.integer)): raise TypeError('non-integer axis') return x.mean(axis) ds = Dataset({'a': (['x', 'y'], [[0, 1, 2, 3, 4]])}) expected = Dataset({'a': ('x', [2])}) actual = ds.reduce(mean_only_one_axis, 'y') self.assertDatasetIdentical(expected, actual) with self.assertRaisesRegexp(TypeError, 'non-integer axis'): ds.reduce(mean_only_one_axis) with self.assertRaisesRegexp(TypeError, 'non-integer axis'): ds.reduce(mean_only_one_axis, ['x', 'y'])