|
18 | 18 | clip, exp, where, X, mean, isnan, round, read_hdf, read_csv, read_eurostat, read_excel, |
19 | 19 | from_lists, from_string, open_excel, from_frame, sequence, nan_equal) |
20 | 20 | from larray.core.axis import _to_ticks, _to_key |
| 21 | +from larray.util.misc import StringIO |
21 | 22 |
|
22 | 23 |
|
23 | 24 | class TestValueStrings(TestCase): |
@@ -2455,23 +2456,15 @@ def test_from_string(self): |
2455 | 2456 | assert_array_equal(res, expected) |
2456 | 2457 |
|
2457 | 2458 | def test_read_csv(self): |
2458 | | - la = read_csv(abspath('test1d.csv')) |
2459 | | - self.assertEqual(la.ndim, 1) |
2460 | | - self.assertEqual(la.shape, (3,)) |
2461 | | - self.assertEqual(la.axes.names, ['time']) |
2462 | | - assert_array_equal(la, [3722, 3395, 3347]) |
| 2459 | + res = read_csv(abspath('test1d.csv')) |
| 2460 | + assert_array_equal(res, ndrange('time=2007,2010,2013')) |
2463 | 2461 |
|
2464 | | - la = read_csv(abspath('test2d.csv')) |
2465 | | - self.assertEqual(la.ndim, 2) |
2466 | | - self.assertEqual(la.shape, (5, 3)) |
2467 | | - self.assertEqual(la.axes.names, ['age', 'time']) |
2468 | | - assert_array_equal(la[0, :], [3722, 3395, 3347]) |
| 2462 | + res = read_csv(abspath('test2d.csv')) |
| 2463 | + assert_array_equal(res, ndrange('a=0,1;b=0,1,2')) |
2469 | 2464 |
|
2470 | | - la = read_csv(abspath('test3d.csv')) |
2471 | | - self.assertEqual(la.ndim, 3) |
2472 | | - self.assertEqual(la.shape, (5, 2, 3)) |
2473 | | - self.assertEqual(la.axes.names, ['age', 'sex', 'time']) |
2474 | | - assert_array_equal(la[0, 'F', :], [3722, 3395, 3347]) |
| 2465 | + res = read_csv(abspath('test3d.csv')) |
| 2466 | + expected = ndrange('age=0..3;sex=F,M;time=2015..2017') + 0.5 |
| 2467 | + assert_array_equal(res, expected) |
2475 | 2468 |
|
2476 | 2469 | la = read_csv(abspath('test5d.csv')) |
2477 | 2470 | self.assertEqual(la.ndim, 5) |
@@ -2499,6 +2492,10 @@ def test_read_csv(self): |
2499 | 2492 | assert_array_equal(la[X.arr[1], 0, 'F', X.nat[1], :], |
2500 | 2493 | [3722, 3395, 3347]) |
2501 | 2494 |
|
| 2495 | + # test StringIO |
| 2496 | + res = read_csv(StringIO('a,1,2\n,0,1\n')) |
| 2497 | + assert_array_equal(res, ndrange('a=1,2')) |
| 2498 | + |
2502 | 2499 | def test_read_eurostat(self): |
2503 | 2500 | la = read_eurostat(abspath('test5d_eurostat.csv')) |
2504 | 2501 | self.assertEqual(la.ndim, 5) |
|
0 commit comments