diff options
author | Stefan van der Walt <stefan@sun.ac.za> | 2008-04-05 22:34:51 +0000 |
---|---|---|
committer | Stefan van der Walt <stefan@sun.ac.za> | 2008-04-05 22:34:51 +0000 |
commit | 3c26a66973355f28bc6ab159803fe68a72e7c95f (patch) | |
tree | ee451946bfcb38a8430cf6414049033ee15b835f /numpy | |
parent | 481c25db0deba1a0405f1b8ea4df2172eae48ed5 (diff) | |
download | numpy-3c26a66973355f28bc6ab159803fe68a72e7c95f.tar.gz |
Add tests for changeset 4822 [patch by Anne Archibald].
Diffstat (limited to 'numpy')
-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 |