46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
|
import pytest
|
||
|
|
||
|
from pandas import (
|
||
|
NaT,
|
||
|
date_range,
|
||
|
to_datetime,
|
||
|
)
|
||
|
import pandas._testing as tm
|
||
|
|
||
|
|
||
|
class TestPickle:
|
||
|
def test_pickle(self):
|
||
|
# GH#4606
|
||
|
idx = to_datetime(["2013-01-01", NaT, "2014-01-06"])
|
||
|
idx_p = tm.round_trip_pickle(idx)
|
||
|
assert idx_p[0] == idx[0]
|
||
|
assert idx_p[1] is NaT
|
||
|
assert idx_p[2] == idx[2]
|
||
|
|
||
|
def test_pickle_dont_infer_freq(self):
|
||
|
# GH#11002
|
||
|
# don't infer freq
|
||
|
idx = date_range("1750-1-1", "2050-1-1", freq="7D")
|
||
|
idx_p = tm.round_trip_pickle(idx)
|
||
|
tm.assert_index_equal(idx, idx_p)
|
||
|
|
||
|
def test_pickle_after_set_freq(self):
|
||
|
dti = date_range("20130101", periods=3, tz="US/Eastern", name="foo")
|
||
|
dti = dti._with_freq(None)
|
||
|
|
||
|
res = tm.round_trip_pickle(dti)
|
||
|
tm.assert_index_equal(res, dti)
|
||
|
|
||
|
def test_roundtrip_pickle_with_tz(self):
|
||
|
# GH#8367
|
||
|
# round-trip of timezone
|
||
|
index = date_range("20130101", periods=3, tz="US/Eastern", name="foo")
|
||
|
unpickled = tm.round_trip_pickle(index)
|
||
|
tm.assert_index_equal(index, unpickled)
|
||
|
|
||
|
@pytest.mark.parametrize("freq", ["B", "C"])
|
||
|
def test_pickle_unpickle(self, freq):
|
||
|
rng = date_range("2009-01-01", "2010-01-01", freq=freq)
|
||
|
unpickled = tm.round_trip_pickle(rng)
|
||
|
assert unpickled.freq == freq
|