test_scalar_compat.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. """Tests for PeriodIndex behaving like a vectorized Period scalar"""
  2. from pandas import (
  3. Timedelta,
  4. date_range,
  5. period_range,
  6. )
  7. import pandas._testing as tm
  8. class TestPeriodIndexOps:
  9. def test_start_time(self):
  10. # GH#17157
  11. index = period_range(freq="M", start="2016-01-01", end="2016-05-31")
  12. expected_index = date_range("2016-01-01", end="2016-05-31", freq="MS")
  13. tm.assert_index_equal(index.start_time, expected_index)
  14. def test_end_time(self):
  15. # GH#17157
  16. index = period_range(freq="M", start="2016-01-01", end="2016-05-31")
  17. expected_index = date_range("2016-01-01", end="2016-05-31", freq="M")
  18. expected_index += Timedelta(1, "D") - Timedelta(1, "ns")
  19. tm.assert_index_equal(index.end_time, expected_index)
  20. def test_end_time_business_friday(self):
  21. # GH#34449
  22. pi = period_range("1990-01-05", freq="B", periods=1)
  23. result = pi.end_time
  24. dti = date_range("1990-01-05", freq="D", periods=1)._with_freq(None)
  25. expected = dti + Timedelta(days=1, nanoseconds=-1)
  26. tm.assert_index_equal(result, expected)