MCPcopy
hub / github.com/pandas-dev/pandas / test_rollforward

Method test_rollforward

pandas/tests/tseries/offsets/test_offsets.py:324–379  ·  view source on GitHub ↗
(self, offset_types, expecteds)

Source from the content-addressed store, hash-verified

322 )
323
324 def test_rollforward(self, offset_types, expecteds):
325 expecteds = expecteds.copy()
326
327 # result will not be changed if the target is on the offset
328 no_changes = [
329 "Day",
330 "MonthBegin",
331 "SemiMonthBegin",
332 "YearBegin",
333 "HalfYearBegin",
334 "Week",
335 "Hour",
336 "Minute",
337 "Second",
338 "Milli",
339 "Micro",
340 "Nano",
341 "DateOffset",
342 ]
343 for n in no_changes:
344 expecteds[n] = Timestamp("2011/01/01 09:00")
345
346 expecteds["BusinessHour"] = Timestamp("2011-01-03 09:00:00")
347 expecteds["CustomBusinessHour"] = Timestamp("2011-01-03 09:00:00")
348
349 # but be changed when normalize=True
350 norm_expected = expecteds.copy()
351 for k in norm_expected:
352 norm_expected[k] = Timestamp(norm_expected[k].date())
353
354 normalized = {
355 "Day": Timestamp("2011-01-02 00:00:00"),
356 "DateOffset": Timestamp("2011-01-02 00:00:00"),
357 "MonthBegin": Timestamp("2011-02-01 00:00:00"),
358 "SemiMonthBegin": Timestamp("2011-01-15 00:00:00"),
359 "YearBegin": Timestamp("2012-01-01 00:00:00"),
360 "HalfYearBegin": Timestamp("2011-07-01 00:00:00"),
361 "Week": Timestamp("2011-01-08 00:00:00"),
362 "Hour": Timestamp("2011-01-01 00:00:00"),
363 "Minute": Timestamp("2011-01-01 00:00:00"),
364 "Second": Timestamp("2011-01-01 00:00:00"),
365 "Milli": Timestamp("2011-01-01 00:00:00"),
366 "Micro": Timestamp("2011-01-01 00:00:00"),
367 }
368 norm_expected.update(normalized)
369
370 sdt = datetime(2011, 1, 1, 9, 0)
371 ndt = np.datetime64("2011-01-01 09:00")
372
373 for dt in [sdt, ndt]:
374 expected = expecteds[offset_types.__name__]
375 self._check_offsetfunc_works(offset_types, "rollforward", dt, expected)
376 expected = norm_expected[offset_types.__name__]
377 self._check_offsetfunc_works(
378 offset_types, "rollforward", dt, expected, normalize=True
379 )
380
381 def test_rollback(self, offset_types):

Callers

nothing calls this directly

Calls 4

dateMethod · 0.80
copyMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected