erange version 4.0a dev release
[erange.git] / test / testMakeGraphs.py
1 '''
2 Created on Jul 28, 2010
3
4 @author: sau
5 '''
6
7 import os, unittest
8 from erange import makeGraphs
9
10 testFileName = "/tmp/testEdgeFileForUnitTests.txt"
11
12 class TestMakeGraphs(unittest.TestCase):
13
14     def setUp(self):
15         pass
16
17
18     def tearDown(self):
19         pass
20
21
22     def testGetEdges(self):
23         nodeList = []
24         self.assertEquals({}, makeGraphs.getEdges(nodeList))
25
26         nodeEntry = "ex_node1\tex_node2\t1"
27         nodeList.append(nodeEntry)
28         result = {"ex_node1": [("ex_node2", 1)],
29                   "ex_node2": [("ex_node1", 1)]}
30         self.assertEquals(result, makeGraphs.getEdges(nodeList))
31
32         nodeEntry = "ex_node1\tex_node3\t2"
33         nodeList.append(nodeEntry)
34         result = {"ex_node1": [("ex_node2", 1), ("ex_node3", 2)],
35                   "ex_node2": [("ex_node1", 1)],
36                   "ex_node3": [("ex_node1", 2)]
37         }
38         self.assertEquals(result, makeGraphs.getEdges(nodeList))
39
40         result = {"node1": [("node2", 1), ("node3", 2)],
41                   "node2": [("node1", 1)],
42                   "node3": [("node1", 2)]
43         }
44         self.assertEquals(result, makeGraphs.getEdges(nodeList, shorten=True))
45
46         nodeEntry = "ex:node1\tex:node2\t1"
47         nodeList = [nodeEntry]
48         result = {"ex:node1": [("ex:node2", 1)],
49                   "ex:node2": [("ex:node1", 1)]}
50         self.assertEquals(result, makeGraphs.getEdges(nodeList, shorten=True))
51
52         nodeEntry = "badLine"
53         nodeList = [nodeEntry]
54         self.assertEquals({}, makeGraphs.getEdges(nodeList))
55         nodeEntry = "node1\tnode2\t1"
56         nodeList.append(nodeEntry)
57         result = {"node1": [("node2", 1)],
58                   "node2": [("node1", 1)]}
59         self.assertEquals(result, makeGraphs.getEdges(nodeList))
60
61
62     def testGetEdgesFromFile(self):
63         self.edgeFile = open(testFileName, "w")
64         self.edgeFile.write("node1\tnode2\t1")
65         self.edgeFile.close()
66
67         result = {"node1": [("node2", 1)],
68                   "node2": [("node1", 1)]}
69         self.assertEquals(result, makeGraphs.getEdgesFromFile(testFileName))
70
71         os.remove(testFileName)
72
73
74 def suite():
75     suite = unittest.TestSuite()
76     suite.addTest(unittest.makeSuite(TestMakeGraphs))
77
78     return suite
79
80
81 if __name__ == "__main__":
82     #import sys;sys.argv = ['', 'Test.testName']
83     unittest.main()