Esempio n. 1
0
def test_sort_system_entities(query_factory):
    """Tests that sorting sys:time QueryEntities works correctly"""
    query = query_factory.create_query(
        'Can we do today or next week or 3pm or 2017 or in 20 minutes '
        'or next quarter or at 6:30pm or in February',
        timestamp=1516748906000)

    time_entities = [
        e for e in query.system_entity_candidates
        if e.entity.type == 'sys_time'
    ]

    assert len(time_entities) == 19

    time_entities = _sort_by_lowest_time_grain(time_entities)

    assert time_entities[0].entity.value['grain'] == 'year'
    assert time_entities[1].entity.value['grain'] == 'year'
    assert time_entities[2].entity.value['grain'] == 'quarter'
    assert time_entities[3].entity.value['grain'] == 'month'
    assert time_entities[4].entity.value['grain'] == 'month'
    assert time_entities[5].entity.value['grain'] == 'week'
    assert time_entities[6].entity.value['grain'] == 'day'
    assert time_entities[7].entity.value['grain'] == 'hour'
    assert time_entities[8].entity.value['grain'] == 'hour'
    assert time_entities[9].entity.value['grain'] == 'hour'
    assert time_entities[10].entity.value['grain'] == 'hour'
    assert time_entities[11].entity.value['grain'] == 'hour'
    assert time_entities[12].entity.value['grain'] == 'minute'
    assert time_entities[13].entity.value['grain'] == 'minute'
    assert time_entities[14].entity.value['grain'] == 'minute'
    assert time_entities[15].entity.value['grain'] == 'minute'
    assert time_entities[16].entity.value['grain'] == 'minute'
    assert time_entities[17].entity.value['grain'] == 'second'
    assert time_entities[18].entity.value['grain'] == 'second'
Esempio n. 2
0
def test_sort_system_entities(query_factory):
    """Tests that sorting sys:time QueryEntities works correctly"""
    query = query_factory.create_query(
        "Can we do today or next week or 3pm or 2017 or in 20 minutes "
        "or next quarter or at 6:30pm or in February",
        timestamp=1516748906000,
    )

    time_entities = [
        e for e in query.system_entity_candidates if e.entity.type == "sys_time"
    ]

    assert len(time_entities) == 19

    time_entities = _sort_by_lowest_time_grain(time_entities)

    assert time_entities[0].entity.value["grain"] == "year"
    assert time_entities[1].entity.value["grain"] == "year"
    assert time_entities[2].entity.value["grain"] == "quarter"
    assert time_entities[3].entity.value["grain"] == "month"
    assert time_entities[4].entity.value["grain"] == "month"
    assert time_entities[5].entity.value["grain"] == "week"
    assert time_entities[6].entity.value["grain"] == "day"
    assert time_entities[7].entity.value["grain"] == "hour"
    assert time_entities[8].entity.value["grain"] == "hour"
    assert time_entities[9].entity.value["grain"] == "hour"
    assert time_entities[10].entity.value["grain"] == "hour"
    assert time_entities[11].entity.value["grain"] == "hour"
    assert time_entities[12].entity.value["grain"] == "minute"
    assert time_entities[13].entity.value["grain"] == "minute"
    assert time_entities[14].entity.value["grain"] == "minute"
    assert time_entities[15].entity.value["grain"] == "minute"
    assert time_entities[16].entity.value["grain"] == "minute"
    assert time_entities[17].entity.value["grain"] == "second"
    assert time_entities[18].entity.value["grain"] == "second"