def test_func_tree_contains_funcs():
  """
  Tests the QueryGenerator.func_tree_contains_funcs() method
  """

  qgen = QueryGenerator(DefaultProfile())

  # Create a simple func_tree with only one function
  and_func = And.create_from_args(Boolean(True), Boolean(True))
  and_func.parent = None
  assert qgen._func_tree_contains_funcs(and_func, [And])
  assert not qgen._func_tree_contains_funcs(and_func, [Or])

  # Create a func_tree that contains one parent, and two children
  equals_func = Equals.create_from_args(Boolean(True), Boolean(True))
  and_func = And.create_from_args(equals_func, equals_func)
  equals_func.parent = and_func
  and_func.parent = None
  assert qgen._func_tree_contains_funcs(equals_func, [And])
  assert qgen._func_tree_contains_funcs(equals_func, [Equals])
  assert not qgen._func_tree_contains_funcs(equals_func, [Or])
Beispiel #2
0
def test_func_tree_contains_funcs():
    """
  Tests the QueryGenerator.func_tree_contains_funcs() method
  """

    qgen = QueryGenerator(DefaultProfile())

    # Create a simple func_tree with only one function
    and_func = And.create_from_args(Boolean(True), Boolean(True))
    and_func.parent = None
    assert qgen._func_tree_contains_funcs(and_func, [And])
    assert not qgen._func_tree_contains_funcs(and_func, [Or])

    # Create a func_tree that contains one parent, and two children
    equals_func = Equals.create_from_args(Boolean(True), Boolean(True))
    and_func = And.create_from_args(equals_func, equals_func)
    equals_func.parent = and_func
    and_func.parent = None
    assert qgen._func_tree_contains_funcs(equals_func, [And])
    assert qgen._func_tree_contains_funcs(equals_func, [Equals])
    assert not qgen._func_tree_contains_funcs(equals_func, [Or])