def test_accept(): def boost_phrases(q): if isinstance(q, Phrase): q.boost *= 2.0 return q before = And([ Term("a", u("b")), Or([Term("c", u("d")), Phrase("a", [u("e"), u("f")])]), Phrase("a", [u("g"), u("h")], boost=0.25) ]) after = before.accept(boost_phrases) assert_equal( after, And([ Term("a", u("b")), Or([Term("c", u("d")), Phrase("a", [u("e"), u("f")], boost=2.0)]), Phrase("a", [u("g"), u("h")], boost=0.5) ])) before = Phrase("a", [u("b"), u("c")], boost=2.5) after = before.accept(boost_phrases) assert_equal(after, Phrase("a", [u("b"), u("c")], boost=5.0))
def test_accept(): def boost_phrases(q): if isinstance(q, Phrase): q.boost *= 2.0 return q before = And([Term("a", u("b")), Or([Term("c", u("d")), Phrase("a", [u("e"), u("f")])]), Phrase("a", [u("g"), u("h")], boost=0.25)]) after = before.accept(boost_phrases) assert_equal(after, And([Term("a", u("b")), Or([Term("c", u("d")), Phrase("a", [u("e"), u("f")], boost=2.0)]), Phrase("a", [u("g"), u("h")], boost=0.5)])) before = Phrase("a", [u("b"), u("c")], boost=2.5) after = before.accept(boost_phrases) assert_equal(after, Phrase("a", [u("b"), u("c")], boost=5.0))