Skip to content

Commit 085c98b

Browse files
committed
unit test on _set_tz
1 parent afd6526 commit 085c98b

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

pandas/tests/io/pytables/test_read.py

-11
Original file line numberDiff line numberDiff line change
@@ -317,14 +317,3 @@ def test_read_infer_string(tmp_path, setup_path):
317317
columns=Index(["a"], dtype="string[pyarrow_numpy]"),
318318
)
319319
tm.assert_frame_equal(result, expected)
320-
321-
322-
def test_hdfstore_read_datetime64_unit_s(tmp_path, setup_path):
323-
# Fix issue 59004: HDFStore doesn't save datetime64[s] right
324-
df_s = DataFrame(["2001-01-01", "2002-02-02"], dtype="datetime64[s]")
325-
path = tmp_path / setup_path
326-
with HDFStore(path, mode="w") as store:
327-
store.put("df_s", df_s)
328-
with HDFStore(path, mode="r") as store:
329-
df_fromstore = store.get("df_s")
330-
tm.assert_frame_equal(df_s, df_fromstore)

pandas/tests/io/pytables/test_timezones.py

+21
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
ensure_clean_store,
2424
)
2525

26+
from pandas.io.pytables import _set_tz
27+
2628

2729
def _compare_with_tz(a, b):
2830
tm.assert_frame_equal(a, b)
@@ -345,3 +347,22 @@ def test_read_with_where_tz_aware_index(tmp_path, setup_path):
345347
store.append(key, expected, format="table", append=True)
346348
result = pd.read_hdf(path, key, where="DATE > 20151130")
347349
tm.assert_frame_equal(result, expected)
350+
351+
352+
def test_set_tz_datetime64_unit(tmp_path, setup_path):
353+
# GH 59004
354+
# https://numpy.org/doc/stable/reference/generated/numpy.datetime_data.html
355+
tz = None
356+
example_dtype = ["datetime64[s]", "datetime64[25s]", "datetime64[ns]"]
357+
example_values = [
358+
np.array([978307200, 1012608000], dtype=np.int64),
359+
np.array([978307200, 1012608000], dtype=np.int64),
360+
np.array([978307200000000000, 1012608000000000000], dtype=np.int64),
361+
]
362+
for dtype, values in zip(example_dtype, example_values):
363+
tm.assert_datetime_array_equal(
364+
_set_tz(values, tz, dtype),
365+
pd.arrays.DatetimeArray._from_sequence(
366+
DatetimeIndex(["2001-01-01", "2002-02-02"], dtype=dtype)
367+
),
368+
)

0 commit comments

Comments
 (0)