diff options
| author | Ross Barnowski <rossbar@berkeley.edu> | 2022-01-28 11:41:46 -0800 |
|---|---|---|
| committer | Sebastian Berg <sebastian@sipsolutions.net> | 2022-01-28 15:06:49 -0600 |
| commit | 370792b3929aa9c66403c9509f08cb7921347352 (patch) | |
| tree | df15d4e18dfdca958ccbc3b13300df263d0fdfcc | |
| parent | 057632782f0c26572ef7bafa195b513d758c34f3 (diff) | |
| download | numpy-370792b3929aa9c66403c9509f08cb7921347352.tar.gz | |
Add test for unicode, parametrize for chunksize.
| -rw-r--r-- | numpy/lib/tests/test_loadtxt.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/numpy/lib/tests/test_loadtxt.py b/numpy/lib/tests/test_loadtxt.py index 5870915ae..5a34267ed 100644 --- a/numpy/lib/tests/test_loadtxt.py +++ b/numpy/lib/tests/test_loadtxt.py @@ -928,16 +928,26 @@ def test_control_character_newline_raises(nl): np.loadtxt(txt, quotechar=nl) -def test_datetime_parametric_unit_discovery(): +@pytest.mark.parametrize( + ("generic_data", "long_datum", "unitless_dtype", "expected_dtype"), + [ + ("2012-03", "2013-01-15", "M8", "M8[D]"), # Datetimes + ("spam-a-lot", "tis_but_a_scratch", "U", "U17"), # str + ], +) +@pytest.mark.parametrize("nrows", (10, 50000, 60000)) # lt, eq, gt chunksize +def test_datetime_parametric_unit_discovery( + generic_data, long_datum, unitless_dtype, expected_dtype, nrows +): """Check that the correct unit (e.g. month, day, second) is discovered from the data when a user specifies a unitless datetime.""" # Unit should be "D" (days) due to last entry - data = ["2012-03"] * 50000 + ["2013-01-15"] - expected = np.array(data, dtype="M8[D]") + data = [generic_data] * 50000 + [long_datum] + expected = np.array(data, dtype=expected_dtype) # file-like path txt = StringIO("\n".join(data)) - a = np.loadtxt(txt, dtype="M8") + a = np.loadtxt(txt, dtype=unitless_dtype) assert a.dtype == expected.dtype assert_equal(a, expected) @@ -945,6 +955,6 @@ def test_datetime_parametric_unit_discovery(): fd, fname = mkstemp() with open(fname, "w") as fh: fh.write("\n".join(data)) - a = np.loadtxt(fname, dtype="M8") + a = np.loadtxt(fname, dtype=unitless_dtype) assert a.dtype == expected.dtype assert_equal(a, expected) |
