Files
2026-07-13 12:36:30 +08:00

39 lines
1.3 KiB
Python

import unittest
import easygraph as eg
class TestHypergraphDegreeCentrality(unittest.TestCase):
def test_basic_degree_centrality(self):
hg = eg.Hypergraph(num_v=4, e_list=[(0, 1), (1, 2), (2, 3), (0, 2)])
result = eg.hyepergraph_degree_centrality(hg)
expected = {0: 2, 1: 2, 2: 3, 3: 1}
self.assertEqual(result, expected)
def test_empty_hypergraph(self):
hg = eg.Hypergraph(num_v=1, e_list=[])
result = eg.hyepergraph_degree_centrality(hg)
self.assertEqual(result, {0: 0})
def test_single_edge(self):
hg = eg.Hypergraph(num_v=3, e_list=[(0, 1, 2)])
result = eg.hyepergraph_degree_centrality(hg)
expected = {0: 1, 1: 1, 2: 1}
self.assertEqual(result, expected)
def test_singleton_nodes(self):
hg = eg.Hypergraph(num_v=3, e_list=[(0,), (1,), (2,)])
result = eg.hyepergraph_degree_centrality(hg)
expected = {0: 1, 1: 1, 2: 1}
self.assertEqual(result, expected)
def test_node_with_no_edges(self):
hg = eg.Hypergraph(num_v=4, e_list=[(0, 1), (1, 2)])
result = eg.hyepergraph_degree_centrality(hg)
expected = {0: 1, 1: 2, 2: 1, 3: 0} # node 3 has no edges
self.assertEqual(result, expected)
if __name__ == "__main__":
unittest.main()