test_npy_units.py 922 B

123456789101112131415161718192021222324252627
  1. import numpy as np
  2. from pandas._libs.tslibs.dtypes import abbrev_to_npy_unit
  3. from pandas._libs.tslibs.vectorized import is_date_array_normalized
  4. # a datetime64 ndarray which *is* normalized
  5. day_arr = np.arange(10, dtype="i8").view("M8[D]")
  6. class TestIsDateArrayNormalized:
  7. def test_is_date_array_normalized_day(self):
  8. arr = day_arr
  9. abbrev = "D"
  10. unit = abbrev_to_npy_unit(abbrev)
  11. result = is_date_array_normalized(arr.view("i8"), None, unit)
  12. assert result is True
  13. def test_is_date_array_normalized_seconds(self):
  14. abbrev = "s"
  15. arr = day_arr.astype(f"M8[{abbrev}]")
  16. unit = abbrev_to_npy_unit(abbrev)
  17. result = is_date_array_normalized(arr.view("i8"), None, unit)
  18. assert result is True
  19. arr[0] += np.timedelta64(1, abbrev)
  20. result2 = is_date_array_normalized(arr.view("i8"), None, unit)
  21. assert result2 is False