import db
def test_subscriber_ranges_have_exact_inclusive_boundaries():
baseline = db._build_filters()[0]
assert db._build_filters(subscriber_range="0_1000")[0] == baseline + ["v.subscriber_count IS NOT NULL", "v.subscriber_count >= 0", "v.subscriber_count <= 1000"]
assert db._build_filters(subscriber_range="1001_5000")[0] == baseline + ["v.subscriber_count IS NOT NULL", "v.subscriber_count >= 1001", "v.subscriber_count <= 5000"]
assert db._build_filters(subscriber_range="5001_10000")[0] == baseline + ["v.subscriber_count IS NOT NULL", "v.subscriber_count >= 5001", "v.subscriber_count <= 10000"]
assert db._build_filters(subscriber_range="gt_10000")[0] == baseline + ["v.subscriber_count IS NOT NULL", "v.subscriber_count > 10000"]
def test_view_ranges_have_exact_inclusive_boundaries():
baseline = db._build_filters()[0]
assert db._build_filters(view_range="0_50")[0] == baseline + ["v.view_count IS NOT NULL", "v.view_count >= 0", "v.view_count <= 50"]
assert db._build_filters(view_range="51_100")[0] == baseline + ["v.view_count IS NOT NULL", "v.view_count >= 51", "v.view_count <= 100"]
assert db._build_filters(view_range="101_500")[0] == baseline + ["v.view_count IS NOT NULL", "v.view_count >= 101", "v.view_count <= 500"]
assert db._build_filters(view_range="gt_500")[0] == baseline + ["v.view_count IS NOT NULL", "v.view_count > 500"]
def test_all_ranges_do_not_add_constraints():
assert db._build_filters(subscriber_range="", view_range="") == db._build_filters()