Revision: 8020
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8020&view=rev
Author:   astraw
Date:     2009-12-11 00:59:25 +0000 (Fri, 11 Dec 2009)

Log Message:
-----------
tests: add tests for rec2csv and csv2rec

Modified Paths:
--------------
    trunk/matplotlib/lib/matplotlib/tests/test_mlab.py

Modified: trunk/matplotlib/lib/matplotlib/tests/test_mlab.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/test_mlab.py  2009-12-10 23:32:41 UTC 
(rev 8019)
+++ trunk/matplotlib/lib/matplotlib/tests/test_mlab.py  2009-12-11 00:59:25 UTC 
(rev 8020)
@@ -1,5 +1,7 @@
 import numpy as np
 import matplotlib.mlab as mlab
+import tempfile
+from nose.tools import raises
 
 def test_colinear_pca():
     a = mlab.PCA._get_colinear()
@@ -8,3 +10,25 @@
     assert(np.allclose(pca.fracs[2:], 0.))
     assert(np.allclose(pca.Y[:,2:], 0.))
 
+def test_recarray_csv_roundtrip():
+    expected = np.recarray((99,),
+                          [('x',np.float),('y',np.float),('t',np.float)])
+    expected['x'][0] = 1
+    expected['y'][1] = 2
+    expected['t'][2] = 3
+    fd = tempfile.TemporaryFile(suffix='csv')
+    mlab.rec2csv(expected,fd)
+    fd.seek(0)
+    actual = mlab.csv2rec(fd)
+    fd.close()
+    assert np.allclose( expected['x'], actual['x'] )
+    assert np.allclose( expected['y'], actual['y'] )
+    assert np.allclose( expected['t'], actual['t'] )
+
+...@raises(ValueError)
+def test_rec2csv_bad_shape():
+    bad = np.recarray((99,4),[('x',np.float),('y',np.float)])
+    fd = tempfile.TemporaryFile(suffix='csv')
+
+    # the bad recarray should trigger a ValueError for having ndim > 1.
+    mlab.rec2csv(bad,fd)


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to