Пример #1
0
def test_datatypes_resolver_date_wednesday_4():
    today = datetime(2017, 9, 28, 15, 30, 0)
    resolution = TimexResolver.resolve(["XXXX-WXX-3T04", "XXXX-WXX-3T16"], today)

    assert len(resolution.values) == 4
    assert resolution.values[0].timex == "XXXX-WXX-3T04"
    assert resolution.values[0].type == "datetime"
    assert resolution.values[0].value == "2017-09-27 04:00:00"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None

    assert resolution.values[1].timex == "XXXX-WXX-3T04"
    assert resolution.values[1].type == "datetime"
    assert resolution.values[1].value == "2017-10-04 04:00:00"
    assert resolution.values[1].start is None
    assert resolution.values[1].end is None

    assert resolution.values[2].timex == "XXXX-WXX-3T16"
    assert resolution.values[2].type == "datetime"
    assert resolution.values[2].value == "2017-09-27 16:00:00"
    assert resolution.values[2].start is None
    assert resolution.values[2].end is None

    assert resolution.values[3].timex == "XXXX-WXX-3T16"
    assert resolution.values[3].type == "datetime"
    assert resolution.values[3].value == "2017-10-04 16:00:00"
    assert resolution.values[3].start is None
    assert resolution.values[3].end is None
Пример #2
0
def test_datatypes_datehelpers_yesterday():
    assert TimexDateHelpers.yesterday(datetime(2017, 1,
                                               1)) == datetime(2016, 12, 31)
    assert TimexDateHelpers.yesterday(datetime(2017, 1,
                                               2)) == datetime(2017, 1, 1)
    assert TimexDateHelpers.yesterday(datetime(2017, 3,
                                               1)) == datetime(2017, 2, 28)
    assert TimexDateHelpers.yesterday(datetime(2016, 2,
                                               29)) == datetime(2016, 2, 28)
Пример #3
0
def test_datatypes_datehelpers_tomorrow():
    assert TimexDateHelpers.tomorrow(datetime(2016, 12,
                                              31)) == datetime(2017, 1, 1)
    assert TimexDateHelpers.tomorrow(datetime(2017, 1,
                                              1)) == datetime(2017, 1, 2)
    assert TimexDateHelpers.tomorrow(datetime(2017, 2,
                                              28)) == datetime(2017, 3, 1)
    assert TimexDateHelpers.tomorrow(datetime(2016, 2,
                                              28)) == datetime(2016, 2, 29)
Пример #4
0
def test_datatypes_resolver_dateRange_last_ten_years():
    today = datetime(2021, 1, 1)
    resolution = TimexResolver.resolve(["(2011-01-01,2021-01-01,P10Y)"], today)
    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "(2011-01-01,2021-01-01,P10Y)"
    assert resolution.values[0].type == "daterange"
    assert resolution.values[0].start == "2011-01-01"
    assert resolution.values[0].end == "2021-01-01"
Пример #5
0
def test_datatypes_resolver_dateRange_week_of_year():
    today = datetime(2017, 4, 30)
    resolution = TimexResolver.resolve(["2021-W16"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "2021-W16"
    assert resolution.values[0].type == "daterange"
    assert resolution.values[0].start == "2021-04-19"
    assert resolution.values[0].end == "2021-04-26"
Пример #6
0
def test_datatypes_resolver_dateRange_last_year():
    today = datetime(2017, 4, 30)
    resolution = TimexResolver.resolve(["2018"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "2018"
    assert resolution.values[0].type == "daterange"
    assert resolution.values[0].start == "2018-01-01"
    assert resolution.values[0].end == "2019-01-01"
Пример #7
0
def test_datatypes_resolver_dateRange_last_three_weeks():
    today = datetime(2017, 4, 30)
    resolution = TimexResolver.resolve(["(2019-04-10,2019-05-01,P3W)"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "(2019-04-10,2019-05-01,P3W)"
    assert resolution.values[0].type == "daterange"
    assert resolution.values[0].start == "2019-04-10"
    assert resolution.values[0].end == "2019-05-01"
Пример #8
0
def test_datatypes_resolver_date_definite():
    today = datetime(2017, 9, 26, 15, 30, 0)
    resolution = TimexResolver.resolve(["2017-09-28"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "2017-09-28"
    assert resolution.values[0].type == "date"
    assert resolution.values[0].value == "2017-09-28"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Пример #9
0
def test_datatypes_resolver_duration_2years():
    today = datetime(2017, 9, 7)
    resolution = TimexResolver.resolve(["P2Y"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "P2Y"
    assert resolution.values[0].type == "duration"
    assert resolution.values[0].value == "63072000"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Пример #10
0
def test_datatypes_resolver_duration_6month():
    today = datetime(2017, 9, 7)
    resolution = TimexResolver.resolve(["P6M"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "P6M"
    assert resolution.values[0].type == "duration"
    assert resolution.values[0].value == "15552000"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Пример #11
0
def test_datatypes_resolver_datetime_wednesday_4_am():
    today = datetime(2017, 9, 7)
    resolution = TimexResolver.resolve(["2017-10-11T04"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "2017-10-11T04"
    assert resolution.values[0].type == "datetime"
    assert resolution.values[0].value == "2017-10-11 04:00:00"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Пример #12
0
def test_datatypes_datehelpers_datepartequals():
    assert TimexDateHelpers.date_part_equal(datetime(2017, 5, 29),
                                            datetime(2017, 5, 29)) is True
    assert TimexDateHelpers.date_part_equal(datetime(2017, 5, 29, 19, 30, 0),
                                            datetime(2017, 5, 29)) is False
    assert TimexDateHelpers.date_part_equal(datetime(2017, 5, 29),
                                            datetime(2017, 11, 15)) is False
Пример #13
0
def test_datatypes_datehelpers_datesmatchingday():
    day = Constants.DAYS['THURSDAY']
    start = datetime(2017, 3, 1)
    end = datetime(2017, 4, 1)
    result = TimexDateHelpers.dates_matching_day(day, start, end)

    assert len(result) == 5
    assert result[0] == datetime(2017, 3, 2)
    assert result[1] == datetime(2017, 3, 9)
    assert result[2] == datetime(2017, 3, 16)
    assert result[3] == datetime(2017, 3, 23)
    assert result[4] == datetime(2017, 3, 30)
Пример #14
0
def test_datatypes_datehelpers_invariance():
    d = datetime(2017, 8, 25)
    before = d

    TimexDateHelpers.tomorrow(d)
    TimexDateHelpers.yesterday(d)
    TimexDateHelpers.date_part_equal(datetime.now(), d)
    TimexDateHelpers.date_part_equal(d, datetime.now())
    TimexDateHelpers.is_next_week(d, datetime.now())
    TimexDateHelpers.is_next_week(datetime.now(), d)
    TimexDateHelpers.is_last_week(datetime.now(), d)
    TimexDateHelpers.week_of_year(d)

    after = d
    assert after is before
Пример #15
0
def test_datatypes_resolver_date_sunday():
    today = datetime(2019, 4, 23, 15, 30, 0)
    resolution = TimexResolver.resolve(["XXXX-WXX-7"], today)

    assert len(resolution.values) == 2
    assert resolution.values[0].timex == "XXXX-WXX-7"
    assert resolution.values[0].type == "date"
    assert resolution.values[0].value == "2019-04-21"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None

    assert resolution.values[1].timex == "XXXX-WXX-7"
    assert resolution.values[1].type == "date"
    assert resolution.values[1].value == "2019-04-28"
    assert resolution.values[1].start is None
    assert resolution.values[1].end is None
Пример #16
0
def test_datatypes_resolver_date_saturday():
    today = datetime(2017, 9, 26, 15, 30, 0)
    resolution = TimexResolver.resolve(["XXXX-WXX-6"], today)

    assert len(resolution.values) == 2
    assert resolution.values[0].timex == "XXXX-WXX-6"
    assert resolution.values[0].type == "date"
    assert resolution.values[0].value == "2017-09-23"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None

    assert resolution.values[1].timex == "XXXX-WXX-6"
    assert resolution.values[1].type == "date"
    assert resolution.values[1].value == "2017-09-30"
    assert resolution.values[1].start is None
    assert resolution.values[1].end is None
Пример #17
0
def test_datatypes_resolver_dateRange_september():
    today = datetime(2017, 9, 28)
    resolution = TimexResolver.resolve(["XXXX-09"], today)

    assert len(resolution.values) == 2
    assert resolution.values[0].timex == "XXXX-09"
    assert resolution.values[0].type == "daterange"
    assert resolution.values[0].start == "2016-09-01"
    assert resolution.values[0].end == "2016-10-01"
    assert resolution.values[0].value is None

    assert resolution.values[1].timex == "XXXX-09"
    assert resolution.values[1].type == "daterange"
    assert resolution.values[1].start == "2017-09-01"
    assert resolution.values[1].end == "2017-10-01"
    assert resolution.values[1].value is None
Пример #18
0
def test_datatypes_datehelpers_dateofnextday_today():
    day = Constants.DAYS['THURSDAY']
    date = datetime(2017, 9, 28)

    assert date != TimexDateHelpers.date_of_next_day(day, date)
Пример #19
0
def test_datatypes_datehelpers_islastweek():
    today = datetime(2017, 9, 25)

    assert TimexDateHelpers.is_last_week(datetime(2017, 9, 20), today) is True
    assert TimexDateHelpers.is_last_week(datetime(2017, 9, 4), today) is False
    assert TimexDateHelpers.is_last_week(today, today) is False
Пример #20
0
def test_datatypes_relativeconvert_date_last_week_cross_year_month_boundary():
    timex = Timex(timex='2017-12-25')
    today = datetime(2018, 1, 4)

    assert TimexRelativeConvert.convert_timex_to_string_relative(
        timex, today) == 'last Monday'
def test_datatypes_helpers_daterangefromtimex():
    timex = Timex(timex='(2017-09-27,2017-09-29,P2D)')
    range = TimexHelpers.daterange_from_timex(timex)

    assert range.start == datetime(2017, 9, 27).date()
    assert range.end == datetime(2017, 9, 29).date()
Пример #22
0
def test_datatypes_datehelpers_dateofnextday_wednesday_nextweek():
    day = Constants.DAYS['WEDNESDAY']
    date = datetime(2017, 9, 28)

    assert datetime(2017, 10,
                    4) == TimexDateHelpers.date_of_next_day(day, date)
Пример #23
0
def test_datatypes_datehelpers_dateoflastday_friday_lastweek():
    day = Constants.DAYS['FRIDAY']
    date = datetime(2017, 9, 28)

    assert datetime(2017, 9,
                    22) == TimexDateHelpers.date_of_last_day(day, date)
Пример #24
0
def test_datatypes_relativeconvert_date_this_week_2():
    timex = Timex(timex='2017-10-25')
    today = datetime(2017, 9, 9)

    assert TimexRelativeConvert.convert_timex_to_string_relative(
        timex, today) == '25th October 2017'
Пример #25
0
def test_datatypes_timex_fromdate():
    assert Timex.from_date(datetime(2017, 12, 5)).timex_value() == '2017-12-05'
Пример #26
0
def test_datatypes_datehelpers_weekofyear():
    assert TimexDateHelpers.week_of_year(datetime(2017, 1, 1)) == 52
    assert TimexDateHelpers.week_of_year(datetime(2017, 1, 2)) == 1
    assert TimexDateHelpers.week_of_year(datetime(2017, 2, 23)) == 8
    assert TimexDateHelpers.week_of_year(datetime(2017, 3, 15)) == 11
    assert TimexDateHelpers.week_of_year(datetime(2017, 9, 25)) == 39
    assert TimexDateHelpers.week_of_year(datetime(2017, 12, 31)) == 52
    assert TimexDateHelpers.week_of_year(datetime(2018, 1, 1)) == 1
    assert TimexDateHelpers.week_of_year(datetime(2018, 1, 2)) == 1
    assert TimexDateHelpers.week_of_year(datetime(2018, 1, 7)) == 1
    assert TimexDateHelpers.week_of_year(datetime(2018, 1, 8)) == 2
    assert TimexDateHelpers.week_of_year(datetime(2018, 12, 31)) == 1
    assert TimexDateHelpers.week_of_year(datetime(2021, 4, 20)) == 16
Пример #27
0
def test_datatypes_timex_fromdatetime():
    assert Timex.from_date_time(datetime(
        2017, 12, 5, 23, 57, 35)).timex_value() == '2017-12-05T23:57:35'
Пример #28
0
def test_datatypes_timex_tonaturallanguage():
    today = datetime(2017, 10, 16)
    Timex('2017-10-17').to_natural_language(today)
    assert 'tomorrow' == Timex('2017-10-17').to_natural_language(today)
def test__datatypes_helpers_datefromtimex():
    timex = Timex(timex='2017-09-27')
    date = TimexHelpers.date_from_timex(timex)

    assert date == datetime(2017, 9, 27).date()
Пример #30
0
def test_datatypes_relativeconvert_date_last_week():
    timex = Timex(timex='2017-09-14')
    today = datetime(2017, 9, 22)

    assert TimexRelativeConvert.convert_timex_to_string_relative(
        timex, today) == 'last Thursday'