test_reductions.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import pytest
  2. import pandas as pd
  3. from pandas.core.arrays import period_array
  4. class TestReductions:
  5. def test_min_max(self):
  6. arr = period_array(
  7. [
  8. "2000-01-03",
  9. "2000-01-03",
  10. "NaT",
  11. "2000-01-02",
  12. "2000-01-05",
  13. "2000-01-04",
  14. ],
  15. freq="D",
  16. )
  17. result = arr.min()
  18. expected = pd.Period("2000-01-02", freq="D")
  19. assert result == expected
  20. result = arr.max()
  21. expected = pd.Period("2000-01-05", freq="D")
  22. assert result == expected
  23. result = arr.min(skipna=False)
  24. assert result is pd.NaT
  25. result = arr.max(skipna=False)
  26. assert result is pd.NaT
  27. @pytest.mark.parametrize("skipna", [True, False])
  28. def test_min_max_empty(self, skipna):
  29. arr = period_array([], freq="D")
  30. result = arr.min(skipna=skipna)
  31. assert result is pd.NaT
  32. result = arr.max(skipna=skipna)
  33. assert result is pd.NaT