diff options
-rw-r--r-- | numpy/core/tests/test_multiarray.py | 44 | ||||
-rw-r--r-- | numpy/core/tests/test_scalarmath.py | 9 |
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 |