[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