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