Skip to content

Commit

Permalink
Merge pull request #1085 from PetholzA/feature/13062023_python_tests_…
Browse files Browse the repository at this point in the history
…components

python tests: adds more tests into test_component.py
  • Loading branch information
fabratu committed Jun 28, 2023
2 parents f4e9508 + 83b3209 commit d61f1b5
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions networkit/test/test_component.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,34 @@ def testNode(v):
cc.run()
self.assertEqual(cc.numberOfComponents(), 1)
G1.forNodes(testNode)

def testBiconnectedComponentsSize(self):
G = nk.Graph(5)
G.addEdge(0,1)
G.addEdge(1,2)
G.addEdge(3,4)

bcc = nk.components.BiconnectedComponents(G)
bcc.run()
self.assertEqual(bcc.numberOfComponents(), 3)
allCompSizes = bcc.getComponentSizes()
self.assertEqual(allCompSizes[0], 2)
self.assertEqual(allCompSizes[1], 2)
self.assertEqual(allCompSizes[2], 2)

def testBiconnectedComponentsNode(self):
G = nk.Graph(5)
G.addEdge(0,1)
G.addEdge(1,2)
G.addEdge(3,4)

bcc = nk.components.BiconnectedComponents(G)
bcc.run()
self.assertEqual({1}, bcc.getComponentsOfNode(0))
self.assertEqual({0,1}, bcc.getComponentsOfNode(1))
self.assertEqual({0}, bcc.getComponentsOfNode(2))
self.assertEqual({2}, bcc.getComponentsOfNode(3))
self.assertEqual({2}, bcc.getComponentsOfNode(4))

def testConnectedComponents(self):
CC = nk.components.ConnectedComponents(self.LL)
Expand Down Expand Up @@ -66,6 +94,28 @@ def testExtractLargestConnectedComponent(self):
for i in range(G.numberOfNodes()):
self.assertEqual(G2.hasNode(i), (4 <= i <= 9))

def testParallelConnectedComponents(self):
G = nk.Graph(10)
for i in range(3):
G.addEdge(i, i+1)

for i in range(4, 9):
G.addEdge(i, i+1)
PCC = nk.components.ParallelConnectedComponents(G)
PCC.run()
#other functions are already tested extensively
self.assertEqual(PCC.numberOfComponents(), 2)

def testWeaklyConnectedComponents(self):
G = nk.Graph(10, directed=True)
for i in range(3):
G.addEdge(i, i+1)

for i in range(4, 9):
G.addEdge(i, i+1)
WCC = nk.components.WeaklyConnectedComponents(G)
WCC.run()
self.assertListEqual(WCC.getComponents(),[[0, 1, 2, 3], [4, 5, 6, 7, 8, 9]])

if __name__ == "__main__":
unittest.main()

0 comments on commit d61f1b5

Please sign in to comment.