コード例 #1
0
ファイル: test_table.py プロジェクト: pep8speaks/dave
def test_apply_filter(s, c, list, min_value, max_value):
    table = Table(s)
    table.add_columns([c])
    for v in list:
        table.columns[c].add_value(v)

    filter = dict()
    filter["table"] = s
    filter["column"] = c
    filter["from"] = min_value
    filter["to"] = max_value

    filtered_table = table.apply_filter(filter)
    schema = filtered_table.get_schema()

    column_in_schema = c in schema
    column_has_values_inside_range = (schema[c]["count"] > 0
                                      and schema[c]["min_value"] >= min_value
                                      and schema[c]["max_value"] <= max_value)
    column_is_empty = (schema[c]["count"] == 0)
    wrong_filter_range = min_value > max_value

    assert column_in_schema and (column_has_values_inside_range
                                 or column_is_empty or wrong_filter_range)