def test_take_fill_valid(self, datetime_index, tz_naive_fixture): dti = datetime_index.tz_localize(tz_naive_fixture) arr = DatetimeArray(dti) now = pd.Timestamp.now().tz_localize(dti.tz) result = arr.take([-1, 1], allow_fill=True, fill_value=now) assert result[0] == now msg = f"'fill_value' should be a {self.dtype}. Got '0 days 00:00:00'." with pytest.raises(ValueError, match=msg): # fill_value Timedelta invalid arr.take([-1, 1], allow_fill=True, fill_value=now - now) msg = f"'fill_value' should be a {self.dtype}. Got '2014Q1'." with pytest.raises(ValueError, match=msg): # fill_value Period invalid arr.take([-1, 1], allow_fill=True, fill_value=pd.Period("2014Q1")) tz = None if dti.tz is not None else "US/Eastern" now = pd.Timestamp.now().tz_localize(tz) msg = "Cannot compare tz-naive and tz-aware datetime-like objects" with pytest.raises(TypeError, match=msg): # Timestamp with mismatched tz-awareness arr.take([-1, 1], allow_fill=True, fill_value=now) value = pd.NaT.value msg = f"'fill_value' should be a {self.dtype}. Got '{value}'." with pytest.raises(ValueError, match=msg): # require NaT, not iNaT, as it could be confused with an integer arr.take([-1, 1], allow_fill=True, fill_value=value)
def test_take_fill_valid(self, datetime_index, tz_naive_fixture): dti = datetime_index.tz_localize(tz_naive_fixture) arr = DatetimeArray(dti) now = pd.Timestamp.now().tz_localize(dti.tz) result = arr.take([-1, 1], allow_fill=True, fill_value=now) assert result[0] == now with pytest.raises(ValueError): # fill_value Timedelta invalid arr.take([-1, 1], allow_fill=True, fill_value=now - now) with pytest.raises(ValueError): # fill_value Period invalid arr.take([-1, 1], allow_fill=True, fill_value=pd.Period('2014Q1')) tz = None if dti.tz is not None else 'US/Eastern' now = pd.Timestamp.now().tz_localize(tz) with pytest.raises(TypeError): # Timestamp with mismatched tz-awareness arr.take([-1, 1], allow_fill=True, fill_value=now) with pytest.raises(ValueError): # require NaT, not iNaT, as it could be confused with an integer arr.take([-1, 1], allow_fill=True, fill_value=pd.NaT.value)
def test_take_fill_valid(self, datetime_index, tz_naive_fixture): dti = datetime_index.tz_localize(tz_naive_fixture) arr = DatetimeArray(dti) now = pd.Timestamp.now().tz_localize(dti.tz) result = arr.take([-1, 1], allow_fill=True, fill_value=now) assert result[0] == now with pytest.raises(ValueError): # fill_value Timedelta invalid arr.take([-1, 1], allow_fill=True, fill_value=now - now) with pytest.raises(ValueError): # fill_value Period invalid arr.take([-1, 1], allow_fill=True, fill_value=pd.Period("2014Q1")) tz = None if dti.tz is not None else "US/Eastern" now = pd.Timestamp.now().tz_localize(tz) with pytest.raises(TypeError): # Timestamp with mismatched tz-awareness arr.take([-1, 1], allow_fill=True, fill_value=now) with pytest.raises(ValueError): # require NaT, not iNaT, as it could be confused with an integer arr.take([-1, 1], allow_fill=True, fill_value=pd.NaT.value)
def test_take_fill_valid(self, datetime_index, tz_naive_fixture): dti = datetime_index.tz_localize(tz_naive_fixture) arr = DatetimeArray(dti) now = pd.Timestamp.now().tz_localize(dti.tz) result = arr.take([-1, 1], allow_fill=True, fill_value=now) assert result[0] == now with pytest.raises(ValueError): # fill_value Timedelta invalid arr.take([-1, 1], allow_fill=True, fill_value=now - now) with pytest.raises(ValueError): # fill_value Period invalid arr.take([-1, 1], allow_fill=True, fill_value=pd.Period('2014Q1')) tz = None if dti.tz is not None else 'US/Eastern' now = pd.Timestamp.now().tz_localize(tz) with pytest.raises(TypeError): # Timestamp with mismatched tz-awareness arr.take([-1, 1], allow_fill=True, fill_value=now)