MCPcopy Index your code
hub / github.com/numpy/numpy / test_ufunc_override_methods

Method test_ufunc_override_methods

numpy/_core/tests/test_umath.py:3609–3791  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3607 assert_equal(c2.count, 1)
3608
3609 def test_ufunc_override_methods(self):
3610
3611 class A:
3612 def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):
3613 return self, ufunc, method, inputs, kwargs
3614
3615 # __call__
3616 a = A()
3617 with assert_raises(TypeError):
3618 np.multiply.__call__(1, a, foo='bar', answer=42)
3619 res = np.multiply.__call__(1, a, subok='bar', where=42)
3620 assert_equal(res[0], a)
3621 assert_equal(res[1], np.multiply)
3622 assert_equal(res[2], '__call__')
3623 assert_equal(res[3], (1, a))
3624 assert_equal(res[4], {'subok': 'bar', 'where': 42})
3625
3626 # __call__, wrong args
3627 assert_raises(TypeError, np.multiply, a)
3628 assert_raises(TypeError, np.multiply, a, a, a, a)
3629 assert_raises(TypeError, np.multiply, a, a, sig='a', signature='a')
3630 assert_raises(TypeError, ncu_tests.inner1d, a, a, axis=0, axes=[0, 0])
3631
3632 # reduce, positional args
3633 res = np.multiply.reduce(a, 'axis0', 'dtype0', 'out0', 'keep0')
3634 assert_equal(res[0], a)
3635 assert_equal(res[1], np.multiply)
3636 assert_equal(res[2], 'reduce')
3637 assert_equal(res[3], (a,))
3638 assert_equal(res[4], {'dtype': 'dtype0',
3639 'out': ('out0',),
3640 'keepdims': 'keep0',
3641 'axis': 'axis0'})
3642
3643 # reduce, kwargs
3644 res = np.multiply.reduce(a, axis='axis0', dtype='dtype0', out='out0',
3645 keepdims='keep0', initial='init0',
3646 where='where0')
3647 assert_equal(res[0], a)
3648 assert_equal(res[1], np.multiply)
3649 assert_equal(res[2], 'reduce')
3650 assert_equal(res[3], (a,))
3651 assert_equal(res[4], {'dtype': 'dtype0',
3652 'out': ('out0',),
3653 'keepdims': 'keep0',
3654 'axis': 'axis0',
3655 'initial': 'init0',
3656 'where': 'where0'})
3657 # reduce, kwargs, out=None is removed
3658 res = np.multiply.reduce(a, axis='axis0', dtype='dtype0', out=None,
3659 keepdims='keep0', initial='init0',
3660 where='where0')
3661 assert_equal(res[0], a)
3662 assert_equal(res[1], np.multiply)
3663 assert_equal(res[2], 'reduce')
3664 assert_equal(res[3], (a,))
3665 assert_equal(res[4], {'dtype': 'dtype0',
3666 'keepdims': 'keep0',

Callers

nothing calls this directly

Calls 7

assert_raisesFunction · 0.90
assert_equalFunction · 0.90
accumulateMethod · 0.80
AClass · 0.70
__call__Method · 0.45
reduceMethod · 0.45
outerMethod · 0.45

Tested by

no test coverage detected