summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--numpy/core/tests/test_multiarray.py44
-rw-r--r--numpy/core/tests/test_scalarmath.py9
2 files changed, 44 insertions, 9 deletions
diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py
index 000e8a197..6d6e23df6 100644
--- a/numpy/core/tests/test_multiarray.py
+++ b/numpy/core/tests/test_multiarray.py
@@ -217,6 +217,50 @@ class TestZeroRank(NumpyTestCase):
x = array(2)
self.failUnlessRaises(ValueError, add, x, [1], x)
+class TestScalarIndexing(NumpyTestCase):
+ def setUp(self):
+ self.d = array([0,1])[0],
+
+ def check_ellipsis_subscript(self):
+ a, = self.d
+ self.failUnlessEqual(a[...], 0)
+ self.failUnlessEqual(a[...].shape,())
+
+ def check_empty_subscript(self):
+ a, = self.d
+ self.failUnlessEqual(a[()], 0)
+ self.failUnlessEqual(a[()].shape,())
+
+ def check_invalid_subscript(self):
+ a, = self.d
+ self.failUnlessRaises(IndexError, lambda x: x[0], a)
+ self.failUnlessRaises(IndexError, lambda x: x[array([], int)], a)
+
+ def check_invalid_subscript_assignment(self):
+ a, = self.d
+ def assign(x, i, v):
+ x[i] = v
+ self.failUnlessRaises(TypeError, assign, a, 0, 42)
+
+ def check_newaxis(self):
+ a, = self.d
+ self.failUnlessEqual(a[newaxis].shape, (1,))
+ self.failUnlessEqual(a[..., newaxis].shape, (1,))
+ self.failUnlessEqual(a[newaxis, ...].shape, (1,))
+ self.failUnlessEqual(a[..., newaxis].shape, (1,))
+ self.failUnlessEqual(a[newaxis, ..., newaxis].shape, (1,1))
+ self.failUnlessEqual(a[..., newaxis, newaxis].shape, (1,1))
+ self.failUnlessEqual(a[newaxis, newaxis, ...].shape, (1,1))
+ self.failUnlessEqual(a[(newaxis,)*10].shape, (1,)*10)
+
+ def check_invalid_newaxis(self):
+ a, = self.d
+ def subscript(x, i): x[i]
+ self.failUnlessRaises(IndexError, subscript, a, (newaxis, 0))
+ self.failUnlessRaises(IndexError, subscript, a, (newaxis,)*50)
+
+
+
class TestCreation(NumpyTestCase):
def check_from_attribute(self):
class x(object):
diff --git a/numpy/core/tests/test_scalarmath.py b/numpy/core/tests/test_scalarmath.py
index 788963e7d..a3175664b 100644
--- a/numpy/core/tests/test_scalarmath.py
+++ b/numpy/core/tests/test_scalarmath.py
@@ -72,15 +72,6 @@ class TestConversion(NumpyTestCase):
# val2 = eval(val_repr)
# assert_equal( val, val2 )
-class TestIndexing(NumpyTestCase):
- def test_basic(self):
- for t in types:
- value = t(1)
- x = value
- assert_array_equal(x[...],value)
- assert_array_equal(x[()],value)
- assert_equal(x[None,...].shape,(1,))
-
class TestRepr(NumpyTestCase):
def check_float_repr(self):
from numpy import nan, inf