Exemplo n.º 1
0
    def filter_none(el: Jelm):

        el2 = el.attribute_filter(lambda x: True)
        print(el)
        print(el2)
        print(el == el2)
        return el2
Exemplo n.º 2
0
def test_attribute_filter():
    node_list1 = [{"type": "node", "id": "n{}".format(i)} for i in range(1, 4)]

    edge_list1 = [
        {
            "type": "edge",
            "source": "n1",
            "target": "n2",
            "attributes": {
                "good_edge": True
            },
        },
        {
            "type": "edge",
            "source": "n1",
            "target": "n3",
            "attributes": {
                "good_edge": False
            },
        },
        {
            "type": "edge",
            "source": "n2",
            "target": "n3",
            "attributes": {
                "good_edge": False
            },
        },
    ]

    el1 = Jelm(objects=[*node_list1, *edge_list1])

    def filter_fun(atts):

        is_good_edge = atts.get("good_edge")

        if is_good_edge is None:
            return True

        return is_good_edge

    expected_el = Jelm(objects=[
        {
            "type": "node",
            "id": "n1"
        },
        {
            "type": "node",
            "id": "n2"
        },
        {
            "type": "node",
            "id": "n3"
        },
        {
            "type": "edge",
            "source": "n1",
            "target": "n2",
            "attributes": {
                "good_edge": True
            },
        },
    ])

    assert expected_el == el1.attribute_filter(filter_fun)
Exemplo n.º 3
0
    def filter_none(el: Jelm):

        el.attribute_filter(lambda x: True)
        return el