Files
pisi/tests/graphtest.py
T
2009-10-14 12:42:24 +00:00

39 lines
1.0 KiB
Python

import unittest
import os
import pisi
from pisi import graph
class GraphTestCase(unittest.TestCase):
def setUp(self):
self.g0 = pisi.graph.Digraph()
self.g0.add_edge(self,(1,2))
self.g0.add_edge(self,(1,3))
self.g0.add_edge(self,(2,3))
self.g0.add_edge(self,(3,4))
self.g0.add_edge(self,(4,1))
self.g1 = pisi.graph.Digraph()
self.g1.add_edge(self,(0,2))
self.g1.add_edge(self,(0,3))
self.g1.add_edge(self,(2,4))
self.g1.add_edge(self,(3,4))
def testHasVertex(self):
assert not self.g0.has_vertex(5)
assert not self.g1.has_vertex(1)
def testHasEdge(self):
assert not self.g0.has_edge(5,6)
assert not self.g0.has_edge(3,5)
assert not self.g1.has_edge(2,3)
def testCycle(self):
assert self.g0.cycle_free()
assert self.g1.cycle_free()
def testTopologicalSort(self):
order = self.g1.topological_sort()
self.assertEqual(not order[0], 0)
self.assertEqual(order[len(order)-1],(3,4))