chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import unittest
|
||||
|
||||
import easygraph as eg
|
||||
import numpy as np
|
||||
|
||||
from easygraph.exception import EasyGraphError
|
||||
|
||||
|
||||
class TestVectorCentrality(unittest.TestCase):
|
||||
def test_single_edge(self):
|
||||
hg = eg.Hypergraph(num_v=3, e_list=[(0, 1, 2)])
|
||||
result = eg.vector_centrality(hg)
|
||||
self.assertEqual(set(result.keys()), {0, 1, 2})
|
||||
for val in result.values():
|
||||
self.assertEqual(len(val), 2) # because D = 3 → k = 2 and 3
|
||||
|
||||
def test_multiple_edges_different_orders(self):
|
||||
hg = eg.Hypergraph(num_v=4, e_list=[(0, 1), (1, 2, 3)])
|
||||
result = eg.vector_centrality(hg)
|
||||
self.assertEqual(set(result.keys()), {0, 1, 2, 3})
|
||||
for val in result.values():
|
||||
self.assertEqual(len(val), 2)
|
||||
self.assertTrue(all(isinstance(x, (float, np.floating)) for x in val))
|
||||
|
||||
def test_disconnected_hypergraph_raises(self):
|
||||
hg = eg.Hypergraph(num_v=6, e_list=[(0, 1), (2, 3)])
|
||||
with self.assertRaises(EasyGraphError):
|
||||
eg.vector_centrality(hg)
|
||||
|
||||
def test_non_consecutive_node_ids(self):
|
||||
hg = eg.Hypergraph(num_v=5, e_list=[(0, 2, 4)])
|
||||
result = eg.vector_centrality(hg)
|
||||
self.assertEqual(len(result), 5)
|
||||
for val in result.values():
|
||||
self.assertEqual(len(val), 2)
|
||||
|
||||
def test_index_error_due_to_wrong_num_v(self):
|
||||
with self.assertRaises(eg.EasyGraphError):
|
||||
eg.Hypergraph(num_v=3, e_list=[(0, 1, 5)])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user