Beispiel #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
Beispiel #2
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"
Beispiel #3
0
def test_datatypes_resolver_duration_10seconds():
    resolution = TimexResolver.resolve(["PT10S"])

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "PT10S"
    assert resolution.values[0].type == "duration"
    assert resolution.values[0].value == "10"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Beispiel #4
0
def test_datatypes_resolver_duration_15minutes():
    resolution = TimexResolver.resolve(["PT15M"])

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "PT15M"
    assert resolution.values[0].type == "duration"
    assert resolution.values[0].value == "900"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Beispiel #5
0
def test_datatypes_resolver_duration_8hours():
    resolution = TimexResolver.resolve(["PT8H"])

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "PT8H"
    assert resolution.values[0].type == "duration"
    assert resolution.values[0].value == "28800"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Beispiel #6
0
def test_datatypes_resolver_duration_5days():
    resolution = TimexResolver.resolve(["P5D"])

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "P5D"
    assert resolution.values[0].type == "duration"
    assert resolution.values[0].value == "432000"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Beispiel #7
0
def test_datatypes_resolver_duration_3weeks():
    resolution = TimexResolver.resolve(["P3W"])

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "P3W"
    assert resolution.values[0].type == "duration"
    assert resolution.values[0].value == "1814400"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Beispiel #8
0
def test_datatypes_resolver_time_4am():
    resolution = TimexResolver.resolve(["T04"])

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "T04"
    assert resolution.values[0].type == "time"
    assert resolution.values[0].value == "04:00:00"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Beispiel #9
0
def test_datatypes_resolver_dateRange_winter():
    resolution = TimexResolver.resolve(["WI"])

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "WI"
    assert resolution.values[0].type == "daterange"
    assert resolution.values[0].value == "not resolved"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
Beispiel #10
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"
Beispiel #11
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"
Beispiel #12
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"
Beispiel #13
0
def test_datatypes_resolver_dateTimeRange_tonight():
    today = datetime.now()
    resolution = TimexResolver.resolve(["2018-03-18TNI"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "2018-03-18TNI"
    assert resolution.values[0].type == "datetimerange"
    assert resolution.values[0].start == "2018-03-18 20:00:00"
    assert resolution.values[0].end == "2018-03-18 24:00:00"
    assert resolution.values[0].value is None
Beispiel #14
0
def test_datatypes_resolver_dateTimeRange_this_morning():
    today = datetime.now()
    resolution = TimexResolver.resolve(["2017-10-07TMO"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "2017-10-07TMO"
    assert resolution.values[0].type == "datetimerange"
    assert resolution.values[0].start == "2017-10-07 08:00:00"
    assert resolution.values[0].end == "2017-10-07 12:00:00"
    assert resolution.values[0].value is None
Beispiel #15
0
def test_datatypes_resolver_timeRange_evening():
    today = datetime.now()
    resolution = TimexResolver.resolve(["TEV"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "TEV"
    assert resolution.values[0].type == "timerange"
    assert resolution.values[0].start == "16:00:00"
    assert resolution.values[0].end == "20:00:00"
    assert resolution.values[0].value is None
Beispiel #16
0
def test_datatypes_resolver_timeRange_4am_to_8pm():
    today = datetime.now()
    resolution = TimexResolver.resolve(["(T04,T20,PT16H)"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "(T04,T20,PT16H)"
    assert resolution.values[0].type == "timerange"
    assert resolution.values[0].start == "04:00:00"
    assert resolution.values[0].end == "20:00:00"
    assert resolution.values[0].value is None
Beispiel #17
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
Beispiel #18
0
def test_datatypes_resolver_dateTimeRange_next_monday_4am_to_next_thursday_3pm():
    today = datetime.now()
    resolution = TimexResolver.resolve(["(2017-10-09T04,2017-10-12T15,PT83H)"], today)

    assert len(resolution.values) == 1
    assert resolution.values[0].timex == "(2017-10-09T04,2017-10-12T15,PT83H)"
    assert resolution.values[0].type == "datetimerange"
    assert resolution.values[0].start == "2017-10-09 04:00:00"
    assert resolution.values[0].end == "2017-10-12 15:00:00"
    assert resolution.values[0].value is None
Beispiel #19
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
Beispiel #20
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
Beispiel #21
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
Beispiel #22
0
    def examples():
        # When you give the recognizer the text "Wednesday 4 o'clock" you get these distinct TIMEX values back.

        today = datetime.datetime.now()
        resolution = TimexResolver.resolve(["XXXX-WXX-3T04", "XXXX-WXX-3T16"],
                                           today)

        print(f"Resolution Values: {len(resolution.values)}")

        for value in resolution.values:
            print(value.timex)
            print(value.type)
            print(value.value)
Beispiel #23
0
def test_datatypes_resolver_time_4_oclock():
    resolution = TimexResolver.resolve(["T04", "T16"])

    assert len(resolution.values) == 2
    assert resolution.values[0].timex == "T04"
    assert resolution.values[0].type == "time"
    assert resolution.values[0].value == "04:00:00"
    assert resolution.values[0].start is None
    assert resolution.values[0].end is None
    assert resolution.values[1].timex == "T16"
    assert resolution.values[1].type == "time"
    assert resolution.values[1].value == "16:00:00"
    assert resolution.values[1].start is None
    assert resolution.values[1].end is None
Beispiel #24
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
Beispiel #25
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
Beispiel #26
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