tests and fixes for reference_map.
svn: r5576
This commit is contained in:
parent
9f891c2913
commit
56d3c6658c
@ -1,3 +1,9 @@
|
|||||||
|
2005-12-17 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
||||||
|
* src/GrampsBSDDB.py: fixed backlinks search to return classname rather
|
||||||
|
than index.
|
||||||
|
* test/GrampsDbBase_Test.py: added test for limiting classes
|
||||||
|
returned from backlink search
|
||||||
|
|
||||||
2005-12-17 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
2005-12-17 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
||||||
* src/GrampsBSDDB.py: reference_map now uses keys rather
|
* src/GrampsBSDDB.py: reference_map now uses keys rather
|
||||||
than class names
|
than class names
|
||||||
|
@ -464,7 +464,7 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
|
|
||||||
data = cPickle.loads(data)
|
data = cPickle.loads(data)
|
||||||
if include_classes == None or KEY_TO_CLASS_MAP[data[0][0]] in include_classes:
|
if include_classes == None or KEY_TO_CLASS_MAP[data[0][0]] in include_classes:
|
||||||
yield data[0]
|
yield (KEY_TO_CLASS_MAP[data[0][0]],data[0][1])
|
||||||
|
|
||||||
ret = referenced_cur.next_dup()
|
ret = referenced_cur.next_dup()
|
||||||
|
|
||||||
|
@ -153,7 +153,37 @@ class ReferenceMapTest (unittest.TestCase):
|
|||||||
references = [ ref for ref in self._db.find_backlink_handles(source.get_handle()) ]
|
references = [ ref for ref in self._db.find_backlink_handles(source.get_handle()) ]
|
||||||
|
|
||||||
assert len(references) == 1
|
assert len(references) == 1
|
||||||
assert references[0] == (GrampsBSDDB.CLASS_TO_KEY_MAP[RelLib.Person.__name__],person.get_handle())
|
assert references[0] == (RelLib.Person.__name__,person.get_handle())
|
||||||
|
|
||||||
|
def test_class_limited_lookup(self):
|
||||||
|
"""check that class limited lookups work."""
|
||||||
|
|
||||||
|
source = self._add_source()
|
||||||
|
person = self._add_person_with_sources([source])
|
||||||
|
|
||||||
|
self._add_family_with_sources([source])
|
||||||
|
self._add_event_with_sources([source])
|
||||||
|
self._add_place_with_sources([source])
|
||||||
|
self._add_media_object_with_sources([source])
|
||||||
|
|
||||||
|
# make sure that we have the correct number of references (one for each object)
|
||||||
|
references = [ ref for ref in self._db.find_backlink_handles(source.get_handle()) ]
|
||||||
|
|
||||||
|
assert len(references) == 5, "len(references) == %s " % str(len(references))
|
||||||
|
|
||||||
|
# should just return the person reference
|
||||||
|
references = [ ref for ref in self._db.find_backlink_handles(source.get_handle(),(RelLib.Person.__name__,)) ]
|
||||||
|
assert len(references) == 1, "len(references) == %s " % str(len(references))
|
||||||
|
assert references[0][0] == RelLib.Person.__name__, "references = %s" % repr(references)
|
||||||
|
|
||||||
|
# should just return the person and event reference
|
||||||
|
references = [ ref for ref in self._db.find_backlink_handles(source.get_handle(),(RelLib.Person.__name__,
|
||||||
|
RelLib.Event.__name__)) ]
|
||||||
|
assert len(references) == 2, "len(references) == %s " % str(len(references))
|
||||||
|
assert references[0][0] == RelLib.Person.__name__, "references = %s" % repr(references)
|
||||||
|
assert references[1][0] == RelLib.Event.__name__, "references = %s" % repr(references)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def test_delete_primary(self):
|
def test_delete_primary(self):
|
||||||
"""check that deleting a primary will remove the backreferences
|
"""check that deleting a primary will remove the backreferences
|
||||||
@ -202,14 +232,6 @@ class ReferenceMapTest (unittest.TestCase):
|
|||||||
assert len(references) == 1, "len(references) == %s " % str(len(references))
|
assert len(references) == 1, "len(references) == %s " % str(len(references))
|
||||||
|
|
||||||
|
|
||||||
def _timeit(func,*args,**kwargs):
|
|
||||||
start = time.time()
|
|
||||||
|
|
||||||
func(*args,**kwargs)
|
|
||||||
|
|
||||||
end = time.time()
|
|
||||||
|
|
||||||
return end - start
|
|
||||||
|
|
||||||
def perf_simple_search_speed(self):
|
def perf_simple_search_speed(self):
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user