2015-11-02 01:25:59 +03:00
|
|
|
from pgcli.packages.prioritization import PrevalenceCounter
|
|
|
|
|
|
|
|
|
|
|
|
def test_prevalence_counter():
|
|
|
|
counter = PrevalenceCounter()
|
2019-05-25 23:08:56 +03:00
|
|
|
sql = """SELECT * FROM foo WHERE bar GROUP BY baz;
|
2015-11-02 01:25:59 +03:00
|
|
|
select * from foo;
|
|
|
|
SELECT * FROM foo WHERE bar GROUP
|
2019-05-25 23:08:56 +03:00
|
|
|
BY baz"""
|
2015-11-02 01:25:59 +03:00
|
|
|
counter.update(sql)
|
|
|
|
|
2019-05-25 23:08:56 +03:00
|
|
|
keywords = ["SELECT", "FROM", "GROUP BY"]
|
2015-11-02 01:25:59 +03:00
|
|
|
expected = [3, 3, 2]
|
|
|
|
kw_counts = [counter.keyword_count(x) for x in keywords]
|
|
|
|
assert kw_counts == expected
|
2019-05-25 23:08:56 +03:00
|
|
|
assert counter.keyword_count("NOSUCHKEYWORD") == 0
|
2015-11-02 01:25:59 +03:00
|
|
|
|
2019-05-25 23:08:56 +03:00
|
|
|
names = ["foo", "bar", "baz"]
|
2015-11-02 01:25:59 +03:00
|
|
|
name_counts = [counter.name_count(x) for x in names]
|
|
|
|
assert name_counts == [3, 2, 2]
|