|
8 | 8 | from numpy.testing import assert_allclose, assert_array_equal
|
9 | 9 | import numpy.ma.testutils as matest
|
10 | 10 | import numpy as np
|
| 11 | +import datetime as datetime |
11 | 12 | from nose.tools import (assert_equal, assert_almost_equal, assert_not_equal,
|
12 | 13 | assert_true, assert_raises)
|
13 | 14 |
|
@@ -346,6 +347,51 @@ def test_csv2rec_names_with_comments(self):
|
346 | 347 | assert len(array) == 2
|
347 | 348 | assert len(array.dtype) == 3
|
348 | 349 |
|
| 350 | + def test_csv2rec_usdate(self): |
| 351 | + self.fd.write('01/11/14\n' + |
| 352 | + '03/05/76 12:00:01 AM\n' + |
| 353 | + '07/09/83 5:17:34 PM\n' + |
| 354 | + '06/20/2054 2:31:45 PM\n' + |
| 355 | + '10/31/00 11:50:23 AM\n') |
| 356 | + expected = [datetime.datetime(2014, 1, 11, 0, 0), |
| 357 | + datetime.datetime(1976, 3, 5, 0, 0, 1), |
| 358 | + datetime.datetime(1983, 7, 9, 17, 17, 34), |
| 359 | + datetime.datetime(2054, 6, 20, 14, 31, 45), |
| 360 | + datetime.datetime(2000, 10, 31, 11, 50, 23)] |
| 361 | + self.fd.seek(0) |
| 362 | + array = mlab.csv2rec(self.fd, names='a') |
| 363 | + assert_array_equal(array['a'].tolist(), expected) |
| 364 | + |
| 365 | + def test_csv2rec_dayfirst(self): |
| 366 | + self.fd.write('11/01/14\n' + |
| 367 | + '05/03/76 12:00:01 AM\n' + |
| 368 | + '09/07/83 5:17:34 PM\n' + |
| 369 | + '20/06/2054 2:31:45 PM\n' + |
| 370 | + '31/10/00 11:50:23 AM\n') |
| 371 | + expected = [datetime.datetime(2014, 1, 11, 0, 0), |
| 372 | + datetime.datetime(1976, 3, 5, 0, 0, 1), |
| 373 | + datetime.datetime(1983, 7, 9, 17, 17, 34), |
| 374 | + datetime.datetime(2054, 6, 20, 14, 31, 45), |
| 375 | + datetime.datetime(2000, 10, 31, 11, 50, 23)] |
| 376 | + self.fd.seek(0) |
| 377 | + array = mlab.csv2rec(self.fd, names='a', dayfirst=True) |
| 378 | + assert_array_equal(array['a'].tolist(), expected) |
| 379 | + |
| 380 | + def test_csv2rec_yearfirst(self): |
| 381 | + self.fd.write('14/01/11\n' + |
| 382 | + '76/03/05 12:00:01 AM\n' + |
| 383 | + '83/07/09 5:17:34 PM\n' + |
| 384 | + '2054/06/20 2:31:45 PM\n' + |
| 385 | + '00/10/31 11:50:23 AM\n') |
| 386 | + expected = [datetime.datetime(2014, 1, 11, 0, 0), |
| 387 | + datetime.datetime(1976, 3, 5, 0, 0, 1), |
| 388 | + datetime.datetime(1983, 7, 9, 17, 17, 34), |
| 389 | + datetime.datetime(2054, 6, 20, 14, 31, 45), |
| 390 | + datetime.datetime(2000, 10, 31, 11, 50, 23)] |
| 391 | + self.fd.seek(0) |
| 392 | + array = mlab.csv2rec(self.fd, names='a', yearfirst=True) |
| 393 | + assert_array_equal(array['a'].tolist(), expected) |
| 394 | + |
349 | 395 |
|
350 | 396 | class window_testcase(CleanupTestCase):
|
351 | 397 | def setUp(self):
|
|
0 commit comments