[pypy-commit] pypy numpy-generic-item: Add tests

yuyichao noreply at buildbot.pypy.org
Tue Oct 21 23:10:51 CEST 2014


Author: Yichao Yu <yyc1992 at gmail.com>
Branch: numpy-generic-item
Changeset: r74051:6e1ad1121f0b
Date: 2014-09-23 08:44 -0400
http://bitbucket.org/pypy/pypy/changeset/6e1ad1121f0b/

Log:	Add tests

diff --git a/pypy/module/micronumpy/test/test_ndarray.py b/pypy/module/micronumpy/test/test_ndarray.py
--- a/pypy/module/micronumpy/test/test_ndarray.py
+++ b/pypy/module/micronumpy/test/test_ndarray.py
@@ -3017,6 +3017,7 @@
         assert a.item((1, 1, 1)) == 16
         exc = raises(ValueError, a.item, 1, 1, 1, 1)
         assert str(exc.value) == "incorrect number of indices for array"
+        raises(TypeError, "array([1]).item(a=1)")
 
     def test_itemset(self):
         import numpy as np
diff --git a/pypy/module/micronumpy/test/test_scalar.py b/pypy/module/micronumpy/test/test_scalar.py
--- a/pypy/module/micronumpy/test/test_scalar.py
+++ b/pypy/module/micronumpy/test/test_scalar.py
@@ -294,9 +294,36 @@
     def test_scalar_iter(self):
         from numpypy import int8, int16, int32, int64, float32, float64
         for t in int8, int16, int32, int64, float32, float64:
-            try:
-                iter(t(17))
-            except TypeError:
-                pass
-            else:
-                assert False, "%s object should not be iterable." % t
+            raises(TypeError, iter, t(17))
+
+    def test_item_tolist(self):
+        from numpypy import int8, int16, int32, int64, float32, float64
+        for t in int8, int16, int32, int64:
+            val = t(17)
+            assert val == 17
+            assert val.item() == 17
+            assert val.tolist() == 17
+            assert type(val.item()) == int
+            assert type(val.tolist()) == int
+            val.item(0)
+            val.item(())
+            val.item((0,))
+            raises(ValueError, val.item, 0, 1)
+            raises(ValueError, val.item, 0, '')
+            raises(TypeError, val.item, '')
+            raises(IndexError, val.item, 2)
+
+        for t in float32, float64:
+            val = t(17)
+            assert val == 17
+            assert val.item() == 17
+            assert val.tolist() == 17
+            assert type(val.item()) == float
+            assert type(val.tolist()) == float
+            val.item(0)
+            val.item(())
+            val.item((0,))
+            raises(ValueError, val.item, 0, 1)
+            raises(ValueError, val.item, 0, '')
+            raises(TypeError, val.item, '')
+            raises(IndexError, val.item, 2)


More information about the pypy-commit mailing list