def test_merge_ranges(): q = And([TermRange("f1", u("a"), None), TermRange("f1", None, u("z"))]) assert_equal(q.normalize(), TermRange("f1", u("a"), u("z"))) q = And([NumericRange("f1", None, u("aaaaa")), NumericRange("f1", u("zzzzz"), None)]) assert_equal(q.normalize(), q) q = And([TermRange("f1", u("a"), u("z")), TermRange("f1", "b", "x")]) assert_equal(q.normalize(), TermRange("f1", u("a"), u("z"))) q = And([TermRange("f1", u("a"), u("m")), TermRange("f1", u("f"), u("q"))]) assert_equal(q.normalize(), TermRange("f1", u("f"), u("m"))) q = Or([TermRange("f1", u("a"), u("m")), TermRange("f1", u("f"), u("q"))]) assert_equal(q.normalize(), TermRange("f1", u("a"), u("q"))) q = Or([TermRange("f1", u("m"), None), TermRange("f1", None, u("n"))]) assert_equal(q.normalize(), Every("f1")) q = And([Every("f1"), Term("f1", "a"), Variations("f1", "b")]) assert_equal(q.normalize(), Every("f1")) q = Or([Term("f1", u("q")), TermRange("f1", u("m"), None), TermRange("f1", None, u("n"))]) assert_equal(q.normalize(), Every("f1")) q = And([Or([Term("f1", u("a")), Term("f1", u("b"))]), Every("f1")]) assert_equal(q.normalize(), Every("f1")) q = And([Term("f1", u("a")), And([Or([Every("f1")])])]) assert_equal(q.normalize(), Every("f1"))
def test_duplicates(): q = And([Term("a", u("b")), Term("a", u("b"))]) assert_equal(q.normalize(), Term("a", u("b"))) q = And([Prefix("a", u("b")), Prefix("a", u("b"))]) assert_equal(q.normalize(), Prefix("a", u("b"))) q = And([ Variations("a", u("b")), And([Variations("a", u("b")), Term("a", u("b"))]) ]) assert_equal(q.normalize(), And([Variations("a", u("b")), Term("a", u("b"))])) q = And( [Term("a", u("b")), Prefix("a", u("b")), Term("a", u("b"), boost=1.1)]) assert_equal(q.normalize(), q) # Wildcard without * or ? normalizes to Term q = And([ Wildcard("a", u("b")), And([Wildcard("a", u("b")), Term("a", u("b"))]) ]) assert_equal(q.normalize(), Term("a", u("b")))
def test_duplicates(): q = And([Term("a", u("b")), Term("a", u("b"))]) assert_equal(q.normalize(), Term("a", u("b"))) q = And([Prefix("a", u("b")), Prefix("a", u("b"))]) assert_equal(q.normalize(), Prefix("a", u("b"))) q = And([Variations("a", u("b")), And([Variations("a", u("b")), Term("a", u("b"))])]) assert_equal(q.normalize(), And([Variations("a", u("b")), Term("a", u("b"))])) q = And([Term("a", u("b")), Prefix("a", u("b")), Term("a", u("b"), boost=1.1)]) assert_equal(q.normalize(), q) # Wildcard without * or ? normalizes to Term q = And([Wildcard("a", u("b")), And([Wildcard("a", u("b")), Term("a", u("b"))])]) assert_equal(q.normalize(), Term("a", u("b")))