summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Barnowski <rossbar@berkeley.edu>2022-01-28 11:41:46 -0800
committerSebastian Berg <sebastian@sipsolutions.net>2022-01-28 15:06:49 -0600
commit370792b3929aa9c66403c9509f08cb7921347352 (patch)
treedf15d4e18dfdca958ccbc3b13300df263d0fdfcc
parent057632782f0c26572ef7bafa195b513d758c34f3 (diff)
downloadnumpy-370792b3929aa9c66403c9509f08cb7921347352.tar.gz
Add test for unicode, parametrize for chunksize.
-rw-r--r--numpy/lib/tests/test_loadtxt.py20
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)