def test_add_node_or_with_disjunction(): clauses = query._BooleanClauses("name", True) node1 = query.FilterNode("a", "=", 7) node2 = query.FilterNode("b", ">", 7.5) node3 = query.DisjunctionNode(node1, node2) clauses.add_node(node3) assert clauses.or_parts == [node1, node2]
def test_add_node_and_with_conjunction(): clauses = query._BooleanClauses("name", False) node1 = query.FilterNode("a", "=", 7) node2 = query.FilterNode("b", ">", 7.5) clauses.or_parts = [[node1], [node2]] # Modify to see the "broadcast" node3 = query.FilterNode("c", "<", "now") node4 = query.FilterNode("d", ">=", 80) node5 = query.ConjunctionNode(node3, node4) clauses.add_node(node5) assert clauses.or_parts == [ [node1, node3, node4], [node2, node3, node4], ]
def test_add_node_and_with_simple(): clauses = query._BooleanClauses("name", False) node1 = query.FilterNode("a", "=", 7) node2 = query.FilterNode("b", ">", 7.5) node3 = query.FilterNode("c", "<", "now") # Modify to see the "broadcast" clauses.or_parts = [[node1], [node2], [node3]] node4 = query.FilterNode("d", ">=", 80) clauses.add_node(node4) assert clauses.or_parts == [ [node1, node4], [node2, node4], [node3, node4], ]
def test_add_node_or_with_simple(): clauses = query._BooleanClauses("name", True) node = query.FilterNode("a", "=", 7) clauses.add_node(node) assert clauses.or_parts == [node]
def test_add_node_invalid(): clauses = query._BooleanClauses("name", False) with pytest.raises(TypeError): clauses.add_node(None)
def test_constructor_and(): and_clauses = query._BooleanClauses("name", False) assert and_clauses.name == "name" assert not and_clauses.combine_or assert and_clauses.or_parts == [[]]
def test_constructor_or(): or_clauses = query._BooleanClauses("name", True) assert or_clauses.name == "name" assert or_clauses.combine_or assert or_clauses.or_parts == []