laywerrobot/lib/python3.6/site-packages/pandas/tests/tslibs/test_period_asfreq.py
2020-08-27 21:55:39 +02:00

82 lines
3.9 KiB
Python

# -*- coding: utf-8 -*-
from pandas._libs.tslibs.frequencies import get_freq
from pandas._libs.tslibs.period import period_ordinal, period_asfreq
class TestPeriodFreqConversion(object):
def test_intraday_conversion_factors(self):
assert period_asfreq(1, get_freq('D'), get_freq('H'), False) == 24
assert period_asfreq(1, get_freq('D'), get_freq('T'), False) == 1440
assert period_asfreq(1, get_freq('D'), get_freq('S'), False) == 86400
assert period_asfreq(1, get_freq('D'),
get_freq('L'), False) == 86400000
assert period_asfreq(1, get_freq('D'),
get_freq('U'), False) == 86400000000
assert period_asfreq(1, get_freq('D'),
get_freq('N'), False) == 86400000000000
assert period_asfreq(1, get_freq('H'), get_freq('T'), False) == 60
assert period_asfreq(1, get_freq('H'), get_freq('S'), False) == 3600
assert period_asfreq(1, get_freq('H'),
get_freq('L'), False) == 3600000
assert period_asfreq(1, get_freq('H'),
get_freq('U'), False) == 3600000000
assert period_asfreq(1, get_freq('H'),
get_freq('N'), False) == 3600000000000
assert period_asfreq(1, get_freq('T'), get_freq('S'), False) == 60
assert period_asfreq(1, get_freq('T'), get_freq('L'), False) == 60000
assert period_asfreq(1, get_freq('T'),
get_freq('U'), False) == 60000000
assert period_asfreq(1, get_freq('T'),
get_freq('N'), False) == 60000000000
assert period_asfreq(1, get_freq('S'), get_freq('L'), False) == 1000
assert period_asfreq(1, get_freq('S'),
get_freq('U'), False) == 1000000
assert period_asfreq(1, get_freq('S'),
get_freq('N'), False) == 1000000000
assert period_asfreq(1, get_freq('L'), get_freq('U'), False) == 1000
assert period_asfreq(1, get_freq('L'),
get_freq('N'), False) == 1000000
assert period_asfreq(1, get_freq('U'), get_freq('N'), False) == 1000
def test_period_ordinal_start_values(self):
# information for 1.1.1970
assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('A')) == 0
assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('M')) == 0
assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('W')) == 1
assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('D')) == 0
assert period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('B')) == 0
def test_period_ordinal_week(self):
assert period_ordinal(1970, 1, 4, 0, 0, 0, 0, 0, get_freq('W')) == 1
assert period_ordinal(1970, 1, 5, 0, 0, 0, 0, 0, get_freq('W')) == 2
assert period_ordinal(2013, 10, 6, 0,
0, 0, 0, 0, get_freq('W')) == 2284
assert period_ordinal(2013, 10, 7, 0,
0, 0, 0, 0, get_freq('W')) == 2285
def test_period_ordinal_business_day(self):
# Thursday
assert period_ordinal(2013, 10, 3, 0,
0, 0, 0, 0, get_freq('B')) == 11415
# Friday
assert period_ordinal(2013, 10, 4, 0,
0, 0, 0, 0, get_freq('B')) == 11416
# Saturday
assert period_ordinal(2013, 10, 5, 0,
0, 0, 0, 0, get_freq('B')) == 11417
# Sunday
assert period_ordinal(2013, 10, 6, 0,
0, 0, 0, 0, get_freq('B')) == 11417
# Monday
assert period_ordinal(2013, 10, 7, 0,
0, 0, 0, 0, get_freq('B')) == 11417
# Tuesday
assert period_ordinal(2013, 10, 8, 0,
0, 0, 0, 0, get_freq('B')) == 11418