def test_build_tree(self):
     query_string = '(item:value OR item:value) AND ((item:value OR item:value AND complicated:false) OR (item:value OR item:value))'
     tokens = _get_tokens(query_string)
     tree = _build_tree(tokens)
     assert tree == [['item:value', 'OR', 'item:value'], 'AND',
                     [['item:value', 'OR', 'item:value', 'AND', 'complicated:false'], 'OR',
                      ['item:value', 'OR', 'item:value']]]
 def test_remove_top_level_brackets_if_needless(self):
     query_string = '(item:value OR item:value)'
     tokens = _get_tokens(query_string)
     tree = _build_tree(tokens)
     assert tree == ['item:value', 'OR', 'item:value']