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'
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"