39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
"""Tests for PeriodIndex behaving like a vectorized Period scalar"""
|
|
|
|
import pytest
|
|
|
|
from pandas import (
|
|
Timedelta,
|
|
date_range,
|
|
period_range,
|
|
)
|
|
import pandas._testing as tm
|
|
|
|
|
|
class TestPeriodIndexOps:
|
|
def test_start_time(self):
|
|
# GH#17157
|
|
index = period_range(freq="M", start="2016-01-01", end="2016-05-31")
|
|
expected_index = date_range("2016-01-01", end="2016-05-31", freq="MS")
|
|
tm.assert_index_equal(index.start_time, expected_index)
|
|
|
|
def test_end_time(self):
|
|
# GH#17157
|
|
index = period_range(freq="M", start="2016-01-01", end="2016-05-31")
|
|
expected_index = date_range("2016-01-01", end="2016-05-31", freq="ME")
|
|
expected_index += Timedelta(1, "D") - Timedelta(1, "ns")
|
|
tm.assert_index_equal(index.end_time, expected_index)
|
|
|
|
@pytest.mark.filterwarnings(r"ignore:PeriodDtype\[B\] is deprecated:FutureWarning")
|
|
@pytest.mark.filterwarnings(
|
|
"ignore:Period with BDay freq is deprecated:FutureWarning"
|
|
)
|
|
def test_end_time_business_friday(self):
|
|
# GH#34449
|
|
pi = period_range("1990-01-05", freq="B", periods=1)
|
|
result = pi.end_time
|
|
|
|
dti = date_range("1990-01-05", freq="D", periods=1)._with_freq(None)
|
|
expected = dti + Timedelta(days=1, nanoseconds=-1)
|
|
tm.assert_index_equal(result, expected)
|