[geneagrapher] 179/226: Change Graph class to inherit from dict.

Doug Torrance dtorrance-guest at moszumanska.debian.org
Sat Jul 11 17:11:05 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository geneagrapher.

commit 484ecb4fe3cba92c08060991039d9bf71efab4d5
Author: David Alber <alber.david at gmail.com>
Date:   Sat Nov 26 17:20:02 2011 -0800

    Change Graph class to inherit from dict.
---
 geneagrapher/graph/graph.py        | 18 ++++---------
 tests/test_geneagrapher_methods.py | 54 +++++++++++++++++++-------------------
 tests/test_graph_methods.py        |  4 +--
 3 files changed, 34 insertions(+), 42 deletions(-)

diff --git a/geneagrapher/graph/graph.py b/geneagrapher/graph/graph.py
index b7466fd..e1aea5e 100644
--- a/geneagrapher/graph/graph.py
+++ b/geneagrapher/graph/graph.py
@@ -10,7 +10,7 @@ class DuplicateNodeError(Exception):
         return self.value
 
 
-class Graph:
+class Graph(dict):
     """
     Class storing the representation of a genealogy graph.
     """
@@ -36,15 +36,7 @@ Node objects for 'seeds'")
 of Node objects for 'seeds'")
 
         if self.seeds is not None:
-            self.nodes = dict([(seed.get_id(), seed) for seed in self.seeds])
-        else:
-            self.nodes = {}
-
-    def __contains__(self, id):
-        """
-        Return True if the given id is in the node list.
-        """
-        return id in self.nodes
+            self.update([(seed.get_id(), seed) for seed in self.seeds])
 
     def has_node(self, id):
         """
@@ -57,13 +49,13 @@ of Node objects for 'seeds'")
         Return the node in the graph with given id. Returns
         None if no such node exists.
         """
-        return self.nodes[id]
+        return self[id]
 
     def get_node_list(self):  # NOTE: this method is unused
         """
         Return a list of the nodes in the graph.
         """
-        return self.nodes.keys()
+        return self.keys()
 
     def add_node(self, name, institution, year, id, ancestors, descendants,
                  is_seed=False):
@@ -87,7 +79,7 @@ of Node objects for 'seeds'")
             # Assign a "dummy" id.
             node.set_id(self.supp_id)
             self.supp_id -= 1
-        self.nodes[node.get_id()] = node
+        self[node.get_id()] = node
         if self.seeds is None:
             self.seeds = [node]
         elif is_seed:
diff --git a/tests/test_geneagrapher_methods.py b/tests/test_geneagrapher_methods.py
index 40e1fbb..daeb987 100644
--- a/tests/test_geneagrapher_methods.py
+++ b/tests/test_geneagrapher_methods.py
@@ -82,11 +82,11 @@ geneagrapher: error: no record IDs given
         # Graph building with no ancestors or descendants.
         self.ggrapher.seed_ids.append(127946)
         self.ggrapher.build_graph()
-        nodes = self.ggrapher.graph.nodes
-        self.assertEquals(len(nodes), 1)
-        self.assertTrue(127946 in nodes)
+        graph = self.ggrapher.graph
+        self.assertEquals(len(graph), 1)
+        self.assertTrue(127946 in graph)
 
-        node = nodes[127946]
+        node = graph[127946]
         self.assertEquals(node.ancestors, [137717, 137705])
         self.assertEquals(node.descendants, [144155, 127803])
 
@@ -108,11 +108,11 @@ geneagrapher: error: no record IDs given
         self.ggrapher.build_graph()
         sys.stdout = stdout
 
-        nodes = self.ggrapher.graph.nodes
-        self.assertEquals(len(nodes), 1)
-        self.assertTrue(127946 in nodes)
+        graph = self.ggrapher.graph
+        self.assertEquals(len(graph), 1)
+        self.assertTrue(127946 in graph)
 
-        node = nodes[127946]
+        node = graph[127946]
         self.assertEquals(node.ancestors, [137717, 137705])
         self.assertEquals(node.descendants, [144155, 127803])
 
@@ -130,14 +130,14 @@ geneagrapher: error: no record IDs given
         self.ggrapher.seed_ids.append(127946)
         self.ggrapher.get_ancestors = True
         self.ggrapher.build_graph()
-        nodes = self.ggrapher.graph.nodes
-        self.assertEquals(len(nodes), 4)
-        self.assertTrue(127946 in nodes)
-        self.assertTrue(137717 in nodes)
-        self.assertTrue(137705 in nodes)
-        self.assertTrue(143630 in nodes)
-
-        node = nodes[127946]
+        graph = self.ggrapher.graph
+        self.assertEquals(len(graph), 4)
+        self.assertTrue(127946 in graph)
+        self.assertTrue(137717 in graph)
+        self.assertTrue(137705 in graph)
+        self.assertTrue(143630 in graph)
+
+        node = graph[127946]
         self.assertEquals(node.ancestors, [137717, 137705])
         self.assertEquals(node.descendants, [144155, 127803])
 
@@ -147,7 +147,7 @@ geneagrapher: error: no record IDs given
         self.assertEquals(record.year, 1672)
         self.assertEquals(record.id, 127946)
 
-        node = nodes[137717]
+        node = graph[137717]
         self.assertEquals(node.ancestors, [])
         self.assertEquals(node.descendants, [127946])
 
@@ -157,7 +157,7 @@ geneagrapher: error: no record IDs given
         self.assertEquals(record.year, 1678)
         self.assertEquals(record.id, 137717)
 
-        node = nodes[137705]
+        node = graph[137705]
         self.assertEquals(node.ancestors, [143630])
         self.assertEquals(node.descendants, [60985, 21235, 127946])
 
@@ -167,7 +167,7 @@ geneagrapher: error: no record IDs given
         self.assertEquals(record.year, 1643)
         self.assertEquals(record.id, 137705)
 
-        node = nodes[143630]
+        node = graph[143630]
         self.assertEquals(node.ancestors, [])
         self.assertEquals(node.descendants, [137705])
 
@@ -182,13 +182,13 @@ geneagrapher: error: no record IDs given
         self.ggrapher.seed_ids.append(79568)
         self.ggrapher.get_descendants = True
         self.ggrapher.build_graph()
-        nodes = self.ggrapher.graph.nodes
-        self.assertEquals(len(nodes), 3)
-        self.assertTrue(79568 in nodes)
-        self.assertTrue(79562 in nodes)
-        self.assertTrue(99457 in nodes)
+        graph = self.ggrapher.graph
+        self.assertEquals(len(graph), 3)
+        self.assertTrue(79568 in graph)
+        self.assertTrue(79562 in graph)
+        self.assertTrue(99457 in graph)
 
-        node = nodes[79568]
+        node = graph[79568]
         self.assertEquals(node.ancestors, [13301])
         self.assertEquals(node.descendants, [79562, 99457])
 
@@ -198,7 +198,7 @@ geneagrapher: error: no record IDs given
         self.assertEquals(record.year, 1982)
         self.assertEquals(record.id, 79568)
 
-        node = nodes[79562]
+        node = graph[79562]
         self.assertEquals(node.ancestors, [79568])
         self.assertEquals(node.descendants, [])
 
@@ -208,7 +208,7 @@ geneagrapher: error: no record IDs given
         self.assertEquals(record.year, 1995)
         self.assertEquals(record.id, 79562)
 
-        node = nodes[99457]
+        node = graph[99457]
         self.assertEquals(node.ancestors, [79568])
         self.assertEquals(node.descendants, [])
 
diff --git a/tests/test_graph_methods.py b/tests/test_graph_methods.py
index b68e32c..3ea615b 100644
--- a/tests/test_graph_methods.py
+++ b/tests/test_graph_methods.py
@@ -20,8 +20,8 @@ class TestGraphMethods(unittest.TestCase):
     def test002_init(self):
         # Test the constructor.
         self.assert_(self.graph1.seeds == [self.node1])
-        self.assertEquals(self.graph1.nodes.keys(), [18231])
-        self.assertEquals(self.graph1.nodes[18231], self.node1)
+        self.assertEquals(self.graph1.keys(), [18231])
+        self.assertEquals(self.graph1[18231], self.node1)
 
     def test003_init_bad_seeds(self):
         # Test the constructor when passed a bad type for the seeds parameter.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/geneagrapher.git



More information about the debian-science-commits mailing list