diff options
author | Travis Oliphant <oliphant@enthought.com> | 2006-08-14 23:15:21 +0000 |
---|---|---|
committer | Travis Oliphant <oliphant@enthought.com> | 2006-08-14 23:15:21 +0000 |
commit | f77587b2cd9091a99a31bb0d5f99c57cc077aa8e (patch) | |
tree | 8894af7b880beece61903e47dd84c7205e3ee8d3 /numpy/tests | |
parent | 06acb9555bf64997423b124620fb469cab24cb2b (diff) | |
download | numpy-f77587b2cd9091a99a31bb0d5f99c57cc077aa8e.tar.gz |
Fix Python 2.5 compatibility to work with new b3 release
Diffstat (limited to 'numpy/tests')
-rw-r--r-- | numpy/tests/test_ctypeslib.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/numpy/tests/test_ctypeslib.py b/numpy/tests/test_ctypeslib.py new file mode 100644 index 000000000..6931bc36b --- /dev/null +++ b/numpy/tests/test_ctypeslib.py @@ -0,0 +1,63 @@ +from numpy.testing import * +set_package_path() +import numpy as N +from numpy.ctypeslib import ndpointer +restore_path() + +class test_ndpointer(NumpyTestCase): + def check_dtype(self): + dt = N.intc + p = ndpointer(dtype=dt) + self.assert_(p.from_param(N.array([1], dt))) + dt = '<i4' + p = ndpointer(dtype=dt) + self.assert_(p.from_param(N.array([1], dt))) + dt = N.dtype('>i4') + p = ndpointer(dtype=dt) + p.from_param(N.array([1], dt)) + self.assertRaises(TypeError, p.from_param, + N.array([1], dt.newbyteorder('swap'))) + dtnames = ['x', 'y'] + dtformats = [N.intc, N.float64] + dtdescr = {'names' : dtnames, 'formats' : dtformats} + dt = N.dtype(dtdescr) + p = ndpointer(dtype=dt) + self.assert_(p.from_param(N.zeros((10,), dt))) + samedt = N.dtype(dtdescr) + p = ndpointer(dtype=samedt) + self.assert_(p.from_param(N.zeros((10,), dt))) + dt2 = N.dtype(dtdescr, align=True) + if dt.itemsize != dt2.itemsize: + self.assertRaises(TypeError, p.from_param, N.zeros((10,), dt2)) + else: + self.assert_(p.from_param(N.zeros((10,), dt2))) + + def check_ndim(self): + p = ndpointer(ndim=0) + self.assert_(p.from_param(N.array(1))) + self.assertRaises(TypeError, p.from_param, N.array([1])) + p = ndpointer(ndim=1) + self.assertRaises(TypeError, p.from_param, N.array(1)) + self.assert_(p.from_param(N.array([1]))) + p = ndpointer(ndim=2) + self.assert_(p.from_param(N.array([[1]]))) + + def check_shape(self): + p = ndpointer(shape=(1,2)) + self.assert_(p.from_param(N.array([[1,2]]))) + self.assertRaises(TypeError, p.from_param, N.array([[1],[2]])) + p = ndpointer(shape=()) + self.assert_(p.from_param(N.array(1))) + + def check_flags(self): + x = N.array([[1,2,3]], order='F') + p = ndpointer(flags='FORTRAN') + self.assert_(p.from_param(x)) + p = ndpointer(flags='CONTIGUOUS') + self.assertRaises(TypeError, p.from_param, x) + p = ndpointer(flags=x.flags.num) + self.assert_(p.from_param(x)) + self.assertRaises(TypeError, p.from_param, N.array([[1,2,3]])) + +if __name__ == "__main__": + NumpyTest().run() |