diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2012-01-01 14:35:28 -0700 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2012-01-09 11:09:37 -0700 |
commit | 4e84ece1f000e6477eb4e3c5b4e2a8480e62e88c (patch) | |
tree | 1c72bfca0b83faecf5b695b0aadeccf53ff50416 /numpy/polynomial/tests/test_classes.py | |
parent | a0319da8224b88bc305ad741d7f8996097920af6 (diff) | |
download | numpy-4e84ece1f000e6477eb4e3c5b4e2a8480e62e88c.tar.gz |
TST: Add tests for mismatched types, domains, and windows.
Test that those combinations raise ValueError for the arithmetic operations
of the convenience classes.
Diffstat (limited to 'numpy/polynomial/tests/test_classes.py')
-rw-r--r-- | numpy/polynomial/tests/test_classes.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/numpy/polynomial/tests/test_classes.py b/numpy/polynomial/tests/test_classes.py index 1df079a58..373379435 100644 --- a/numpy/polynomial/tests/test_classes.py +++ b/numpy/polynomial/tests/test_classes.py @@ -219,6 +219,13 @@ def check_add(Poly) : assert_poly_almost_equal(tuple(c2) + p1, p3) assert_poly_almost_equal(p1 + np.array(c2), p3) assert_poly_almost_equal(np.array(c2) + p1, p3) + assert_raises(TypeError, p1.__add__, Poly([0], domain=Poly.domain + 1)) + assert_raises(TypeError, p1.__add__, Poly([0], window=Poly.window + 1)) + if Poly is Polynomial: + assert_raises(TypeError, p1.__add__, Chebyshev([0])) + else: + assert_raises(TypeError, p1.__add__, Polynomial([0])) + def check_sub(Poly) : @@ -235,6 +242,12 @@ def check_sub(Poly) : assert_poly_almost_equal(tuple(c2) - p1, -p3) assert_poly_almost_equal(p1 - np.array(c2), p3) assert_poly_almost_equal(np.array(c2) - p1, -p3) + assert_raises(TypeError, p1.__sub__, Poly([0], domain=Poly.domain + 1)) + assert_raises(TypeError, p1.__sub__, Poly([0], window=Poly.window + 1)) + if Poly is Polynomial: + assert_raises(TypeError, p1.__sub__, Chebyshev([0])) + else: + assert_raises(TypeError, p1.__sub__, Polynomial([0])) def check_mul(Poly) : @@ -252,6 +265,12 @@ def check_mul(Poly) : assert_poly_almost_equal(np.array(c2) * p1, p3) assert_poly_almost_equal(p1 * 2, p1 * Poly([2])) assert_poly_almost_equal(2 * p1, p1 * Poly([2])) + assert_raises(TypeError, p1.__mul__, Poly([0], domain=Poly.domain + 1)) + assert_raises(TypeError, p1.__mul__, Poly([0], window=Poly.window + 1)) + if Poly is Polynomial: + assert_raises(TypeError, p1.__mul__, Chebyshev([0])) + else: + assert_raises(TypeError, p1.__mul__, Polynomial([0])) def check_floordiv(Poly) : @@ -272,6 +291,12 @@ def check_floordiv(Poly) : assert_poly_almost_equal(np.array(c4) // p2, p1) assert_poly_almost_equal(2 // p2, Poly([0])) assert_poly_almost_equal(p2 // 2, 0.5*p2) + assert_raises(TypeError, p1.__floordiv__, Poly([0], domain=Poly.domain + 1)) + assert_raises(TypeError, p1.__floordiv__, Poly([0], window=Poly.window + 1)) + if Poly is Polynomial: + assert_raises(TypeError, p1.__floordiv__, Chebyshev([0])) + else: + assert_raises(TypeError, p1.__floordiv__, Polynomial([0])) def check_mod(Poly) : @@ -293,6 +318,12 @@ def check_mod(Poly) : assert_poly_almost_equal(np.array(c4) % p2, p3) assert_poly_almost_equal(2 % p2, Poly([2])) assert_poly_almost_equal(p2 % 2, Poly([0])) + assert_raises(TypeError, p1.__mod__, Poly([0], domain=Poly.domain + 1)) + assert_raises(TypeError, p1.__mod__, Poly([0], window=Poly.window + 1)) + if Poly is Polynomial: + assert_raises(TypeError, p1.__mod__, Chebyshev([0])) + else: + assert_raises(TypeError, p1.__mod__, Polynomial([0])) def check_divmod(Poly) : @@ -332,6 +363,12 @@ def check_divmod(Poly) : quo, rem = divmod(2, p2) assert_poly_almost_equal(quo, Poly([0])) assert_poly_almost_equal(rem, Poly([2])) + assert_raises(TypeError, divmod, p1, Poly([0], domain=Poly.domain + 1)) + assert_raises(TypeError, divmod, p1, Poly([0], window=Poly.window + 1)) + if Poly is Polynomial: + assert_raises(TypeError, divmod, p1, Chebyshev([0])) + else: + assert_raises(TypeError, divmod, p1, Polynomial([0])) def check_roots(Poly): @@ -424,6 +461,8 @@ def check_pow(Poly) : for i in range(5) : assert_poly_almost_equal(tst**i, tgt) tgt = tgt * tst + assert_raises(ValueError, tgt.__pow__, 1.5) + assert_raises(ValueError, tgt.__pow__, -1) def check_call(Poly) : |