tests and fixes for reference_map.
svn: r5576
This commit is contained in:
		| @@ -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): | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user