(self)
| 3378 | assert_equal(c2.count, 1) |
| 3379 | |
| 3380 | def test_ufunc_override_methods(self): |
| 3381 | |
| 3382 | class A: |
| 3383 | def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): |
| 3384 | return self, ufunc, method, inputs, kwargs |
| 3385 | |
| 3386 | # __call__ |
| 3387 | a = A() |
| 3388 | with assert_raises(TypeError): |
| 3389 | np.multiply.__call__(1, a, foo='bar', answer=42) |
| 3390 | res = np.multiply.__call__(1, a, subok='bar', where=42) |
| 3391 | assert_equal(res[0], a) |
| 3392 | assert_equal(res[1], np.multiply) |
| 3393 | assert_equal(res[2], '__call__') |
| 3394 | assert_equal(res[3], (1, a)) |
| 3395 | assert_equal(res[4], {'subok': 'bar', 'where': 42}) |
| 3396 | |
| 3397 | # __call__, wrong args |
| 3398 | assert_raises(TypeError, np.multiply, a) |
| 3399 | assert_raises(TypeError, np.multiply, a, a, a, a) |
| 3400 | assert_raises(TypeError, np.multiply, a, a, sig='a', signature='a') |
| 3401 | assert_raises(TypeError, ncu_tests.inner1d, a, a, axis=0, axes=[0, 0]) |
| 3402 | |
| 3403 | # reduce, positional args |
| 3404 | res = np.multiply.reduce(a, 'axis0', 'dtype0', 'out0', 'keep0') |
| 3405 | assert_equal(res[0], a) |
| 3406 | assert_equal(res[1], np.multiply) |
| 3407 | assert_equal(res[2], 'reduce') |
| 3408 | assert_equal(res[3], (a,)) |
| 3409 | assert_equal(res[4], {'dtype':'dtype0', |
| 3410 | 'out': ('out0',), |
| 3411 | 'keepdims': 'keep0', |
| 3412 | 'axis': 'axis0'}) |
| 3413 | |
| 3414 | # reduce, kwargs |
| 3415 | res = np.multiply.reduce(a, axis='axis0', dtype='dtype0', out='out0', |
| 3416 | keepdims='keep0', initial='init0', |
| 3417 | where='where0') |
| 3418 | assert_equal(res[0], a) |
| 3419 | assert_equal(res[1], np.multiply) |
| 3420 | assert_equal(res[2], 'reduce') |
| 3421 | assert_equal(res[3], (a,)) |
| 3422 | assert_equal(res[4], {'dtype':'dtype0', |
| 3423 | 'out': ('out0',), |
| 3424 | 'keepdims': 'keep0', |
| 3425 | 'axis': 'axis0', |
| 3426 | 'initial': 'init0', |
| 3427 | 'where': 'where0'}) |
| 3428 | |
| 3429 | # reduce, output equal to None removed, but not other explicit ones, |
| 3430 | # even if they are at their default value. |
| 3431 | res = np.multiply.reduce(a, 0, None, None, False) |
| 3432 | assert_equal(res[4], {'axis': 0, 'dtype': None, 'keepdims': False}) |
| 3433 | res = np.multiply.reduce(a, out=None, axis=0, keepdims=True) |
| 3434 | assert_equal(res[4], {'axis': 0, 'keepdims': True}) |
| 3435 | res = np.multiply.reduce(a, None, out=(None,), dtype=None) |
| 3436 | assert_equal(res[4], {'axis': None, 'dtype': None}) |
| 3437 | res = np.multiply.reduce(a, 0, None, None, False, 2, True) |
nothing calls this directly
no test coverage detected