view env/lib/python3.9/site-packages/networkx/algorithms/assortativity/tests/test_pairs.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line source

import networkx as nx
from .base_test import BaseTestAttributeMixing, BaseTestDegreeMixing


class TestAttributeMixingXY(BaseTestAttributeMixing):
    def test_node_attribute_xy_undirected(self):
        attrxy = sorted(nx.node_attribute_xy(self.G, "fish"))
        attrxy_result = sorted(
            [
                ("one", "one"),
                ("one", "one"),
                ("two", "two"),
                ("two", "two"),
                ("one", "red"),
                ("red", "one"),
                ("blue", "two"),
                ("two", "blue"),
            ]
        )
        assert attrxy == attrxy_result

    def test_node_attribute_xy_undirected_nodes(self):
        attrxy = sorted(nx.node_attribute_xy(self.G, "fish", nodes=["one", "yellow"]))
        attrxy_result = sorted([])
        assert attrxy == attrxy_result

    def test_node_attribute_xy_directed(self):
        attrxy = sorted(nx.node_attribute_xy(self.D, "fish"))
        attrxy_result = sorted(
            [("one", "one"), ("two", "two"), ("one", "red"), ("two", "blue")]
        )
        assert attrxy == attrxy_result

    def test_node_attribute_xy_multigraph(self):
        attrxy = sorted(nx.node_attribute_xy(self.M, "fish"))
        attrxy_result = [
            ("one", "one"),
            ("one", "one"),
            ("one", "one"),
            ("one", "one"),
            ("two", "two"),
            ("two", "two"),
        ]
        assert attrxy == attrxy_result

    def test_node_attribute_xy_selfloop(self):
        attrxy = sorted(nx.node_attribute_xy(self.S, "fish"))
        attrxy_result = [("one", "one"), ("two", "two")]
        assert attrxy == attrxy_result


class TestDegreeMixingXY(BaseTestDegreeMixing):
    def test_node_degree_xy_undirected(self):
        xy = sorted(nx.node_degree_xy(self.P4))
        xy_result = sorted([(1, 2), (2, 1), (2, 2), (2, 2), (1, 2), (2, 1)])
        assert xy == xy_result

    def test_node_degree_xy_undirected_nodes(self):
        xy = sorted(nx.node_degree_xy(self.P4, nodes=[0, 1, -1]))
        xy_result = sorted([(1, 2), (2, 1)])
        assert xy == xy_result

    def test_node_degree_xy_directed(self):
        xy = sorted(nx.node_degree_xy(self.D))
        xy_result = sorted([(2, 1), (2, 3), (1, 3), (1, 3)])
        assert xy == xy_result

    def test_node_degree_xy_multigraph(self):
        xy = sorted(nx.node_degree_xy(self.M))
        xy_result = sorted(
            [(2, 3), (2, 3), (3, 2), (3, 2), (2, 3), (3, 2), (1, 2), (2, 1)]
        )
        assert xy == xy_result

    def test_node_degree_xy_selfloop(self):
        xy = sorted(nx.node_degree_xy(self.S))
        xy_result = sorted([(2, 2), (2, 2)])
        assert xy == xy_result

    def test_node_degree_xy_weighted(self):
        G = nx.Graph()
        G.add_edge(1, 2, weight=7)
        G.add_edge(2, 3, weight=10)
        xy = sorted(nx.node_degree_xy(G, weight="weight"))
        xy_result = sorted([(7, 17), (17, 10), (17, 7), (10, 17)])
        assert xy == xy_result