summaryrefslogtreecommitdiff
path: root/numpy/lib/tests/test_io.py
diff options
context:
space:
mode:
authorStefan van der Walt <stefan@sun.ac.za>2008-04-12 23:18:27 +0000
committerStefan van der Walt <stefan@sun.ac.za>2008-04-12 23:18:27 +0000
commit65dd4ae929241c813e7a9b700ead46d68b20821f (patch)
treee9bc36138c66f17f9637b0791fedfff1aa267323 /numpy/lib/tests/test_io.py
parent1ea80052ca6a9af37c82221a275944753fbfe2be (diff)
downloadnumpy-65dd4ae929241c813e7a9b700ead46d68b20821f.tar.gz
Fix fromregex, add documentation and tests [patch by Pauli Virtanen].
Diffstat (limited to 'numpy/lib/tests/test_io.py')
-rw-r--r--numpy/lib/tests/test_io.py72
1 files changed, 53 insertions, 19 deletions
diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py
index cd92491ba..9f7a585ef 100644
--- a/numpy/lib/tests/test_io.py
+++ b/numpy/lib/tests/test_io.py
@@ -2,27 +2,29 @@ from numpy.testing import *
import numpy as np
import StringIO
-class Testsavetxt(NumpyTestCase):
+class TestSaveTxt(NumpyTestCase):
def test_array(self):
a =np.array( [[1,2],[3,4]], float)
c = StringIO.StringIO()
np.savetxt(c, a)
c.seek(0)
- assert(c.readlines(), ['1.000000000000000000e+00 2.000000000000000000e+00\n', '3.000000000000000000e+00 4.000000000000000000e+00\n'])
+ assert(c.readlines(),
+ ['1.000000000000000000e+00 2.000000000000000000e+00\n',
+ '3.000000000000000000e+00 4.000000000000000000e+00\n'])
a =np.array( [[1,2],[3,4]], int)
c = StringIO.StringIO()
np.savetxt(c, a)
c.seek(0)
assert(c.readlines(), ['1 2\n', '3 4\n'])
-
+
def test_1D(self):
a = np.array([1,2,3,4], int)
c = StringIO.StringIO()
np.savetxt(c, a, fmt='%d')
c.seek(0)
assert(c.readlines(), ['1\n', '2\n', '3\n', '4\n'])
-
+
def test_record(self):
a = np.array([(1, 2), (3, 4)], dtype=[('x', 'i4'), ('y', 'i4')])
c = StringIO.StringIO()
@@ -30,9 +32,8 @@ class Testsavetxt(NumpyTestCase):
c.seek(0)
assert(c.readlines(), ['1 2\n', '3 4\n'])
-
-class Testloadtxt(NumpyTestCase):
+class TestLoadTxt(NumpyTestCase):
def test_record(self):
c = StringIO.StringIO()
c.write('1 2\n3 4')
@@ -40,31 +41,33 @@ class Testloadtxt(NumpyTestCase):
x = np.loadtxt(c, dtype=[('x', np.int32), ('y', np.int32)])
a = np.array([(1, 2), (3, 4)], dtype=[('x', 'i4'), ('y', 'i4')])
assert_array_equal(x, a)
-
+
d = StringIO.StringIO()
d.write('M 64.0 75.0\nF 25.0 60.0')
d.seek(0)
- mydescriptor = {'names': ('gender','age','weight'), 'formats': ('S1',
- 'i4', 'f4')}
- b = np.array([('M', 64.0, 75.0),('F', 25.0, 60.0)], dtype=mydescriptor)
+ mydescriptor = {'names': ('gender','age','weight'),
+ 'formats': ('S1',
+ 'i4', 'f4')}
+ b = np.array([('M', 64.0, 75.0),
+ ('F', 25.0, 60.0)], dtype=mydescriptor)
y = np.loadtxt(d, dtype=mydescriptor)
assert_array_equal(y, b)
-
+
def test_array(self):
c = StringIO.StringIO()
c.write('1 2\n3 4')
-
+
c.seek(0)
x = np.loadtxt(c, dtype=int)
a = np.array([[1,2],[3,4]], int)
assert_array_equal(x, a)
-
+
c.seek(0)
x = np.loadtxt(c, dtype=float)
a = np.array([[1,2],[3,4]], float)
assert_array_equal(x, a)
-
+
def test_1D(self):
c = StringIO.StringIO()
c.write('1\n2\n3\n4\n')
@@ -72,15 +75,15 @@ class Testloadtxt(NumpyTestCase):
x = np.loadtxt(c, dtype=int)
a = np.array([1,2,3,4], int)
assert_array_equal(x, a)
-
+
c = StringIO.StringIO()
c.write('1,2,3,4\n')
c.seek(0)
x = np.loadtxt(c, dtype=int, delimiter=',')
a = np.array([1,2,3,4], int)
assert_array_equal(x, a)
-
-
+
+
def test_missing(self):
c = StringIO.StringIO()
c.write('1,2,3,,5\n')
@@ -89,7 +92,38 @@ class Testloadtxt(NumpyTestCase):
converters={3:lambda s: int(s or -999)})
a = np.array([1,2,3,-999,5], int)
assert_array_equal(x, a)
-
-
+
+class Testfromregex(NumpyTestCase):
+ def test_record(self):
+ c = StringIO.StringIO()
+ c.write('1.312 foo\n1.534 bar\n4.444 qux')
+ c.seek(0)
+
+ dt = [('num', np.float64), ('val', 'S3')]
+ x = np.fromregex(c, r"([0-9.]+)\s+(...)", dt)
+ a = np.array([(1.312, 'foo'), (1.534, 'bar'), (4.444, 'qux')], dtype=dt)
+ assert_array_equal(x, a)
+
+ def test_record_2(self):
+ return # pass this test until #736 is resolved
+ c = StringIO.StringIO()
+ c.write('1312 foo\n1534 bar\n4444 qux')
+ c.seek(0)
+
+ dt = [('num', np.int32), ('val', 'S3')]
+ x = np.fromregex(c, r"(\d+)\s+(...)", dt)
+ a = np.array([(1312, 'foo'), (1534, 'bar'), (4444, 'qux')], dtype=dt)
+ assert_array_equal(x, a)
+
+ def test_record_3(self):
+ c = StringIO.StringIO()
+ c.write('1312 foo\n1534 bar\n4444 qux')
+ c.seek(0)
+
+ dt = [('num', np.float64)]
+ x = np.fromregex(c, r"(\d+)\s+...", dt)
+ a = np.array([(1312,), (1534,), (4444,)], dtype=dt)
+ assert_array_equal(x, a)
+
if __name__ == "__main__":
NumpyTest().run()