From 962608c6bf11e0975d2edba2498001577d40006f Mon Sep 17 00:00:00 2001 From: Doug Blank Date: Tue, 26 May 2015 22:03:07 -0400 Subject: [PATCH] Fixed merge tests for Places; fixed init for PlaceNames with source --- gramps/gen/lib/placename.py | 8 ++- gramps/gen/lib/test/merge_test.py | 90 +++++++++++++++++-------------- 2 files changed, 55 insertions(+), 43 deletions(-) diff --git a/gramps/gen/lib/placename.py b/gramps/gen/lib/placename.py index 7e381a3aa..fb815cfa5 100644 --- a/gramps/gen/lib/placename.py +++ b/gramps/gen/lib/placename.py @@ -50,8 +50,12 @@ class PlaceName(SecondaryObject, DateBase): Create a new PlaceName instance, copying from the source if present. """ DateBase.__init__(self, source) - self.value = '' - self.lang = '' + if source: + self.value = source.value + self.lang = source.lang + else: + self.value = '' + self.lang = '' def serialize(self): """ diff --git a/gramps/gen/lib/test/merge_test.py b/gramps/gen/lib/test/merge_test.py index 3b4e1008f..98c969f44 100644 --- a/gramps/gen/lib/test/merge_test.py +++ b/gramps/gen/lib/test/merge_test.py @@ -23,7 +23,7 @@ import unittest from .. import (Person, Surname, Name, NameType, Family, FamilyRelType, - Event, EventType, Source, Place, Citation, Date, + Event, EventType, Source, Place, PlaceName, Citation, Date, Repository, RepositoryType, MediaObject, Note, NoteType, StyledText, StyledTextTag, StyledTextTagType, Tag, ChildRef, ChildRefType, Attribute, MediaRef, AttributeType, @@ -1391,100 +1391,108 @@ class PlaceCheck(unittest.TestCase, PrivacyBaseTest, MediaBaseTest, self.phoenix.set_title('Place 1') self.titanic = Place(self.phoenix) self.ref_obj = Place(self.phoenix) + self.amsterdam = PlaceName() + self.amsterdam.set_value('Amsterdam') + self.rotterdam = PlaceName() + self.rotterdam.set_value('Rotterdam') + self.utrecht = PlaceName() + self.utrecht.set_value('Utrecht') + self.leiden = PlaceName() + self.leiden.set_value('Leiden') def test_merge_primary_identical(self): - self.phoenix.set_name('Amsterdam') + self.phoenix.set_name(self.amsterdam) self.phoenix.set_type(PlaceType.CITY) self.titanic.set_title('Place 2') - self.titanic.set_name('Amsterdam') + self.titanic.set_name(self.amsterdam) self.titanic.set_type(PlaceType.CITY) - self.ref_obj.set_name('Amsterdam') + self.ref_obj.set_name(self.amsterdam) self.ref_obj.set_type(PlaceType.CITY) self.phoenix.merge(self.titanic) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) def test_merge_primary_different(self): - self.phoenix.set_name('Amsterdam') + self.phoenix.set_name(self.amsterdam) self.phoenix.set_type(PlaceType.CITY) self.titanic.set_title('Place 2') - self.titanic.set_name('Rotterdam') + self.titanic.set_name(self.rotterdam) self.titanic.set_type(PlaceType.CITY) - self.ref_obj.set_name('Amsterdam') + self.ref_obj.set_name(self.amsterdam) self.ref_obj.set_type(PlaceType.CITY) - self.ref_obj.add_alternative_name('Rotterdam') + self.ref_obj.add_alternative_name(self.rotterdam) self.phoenix.merge(self.titanic) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) def test_merge_both_different(self): - self.phoenix.set_name('Amsterdam') + self.phoenix.set_name(self.amsterdam) self.phoenix.set_type(PlaceType.CITY) - self.phoenix.add_alternative_name('Utrecht') + self.phoenix.add_alternative_name(self.utrecht) self.titanic.set_title('Place 2') - self.titanic.set_name('Rotterdam') + self.titanic.set_name(self.rotterdam) self.titanic.set_type(PlaceType.CITY) - self.titanic.add_alternative_name('Leiden') - self.ref_obj.set_name('Amsterdam') + self.titanic.add_alternative_name(self.leiden) + self.ref_obj.set_name(self.amsterdam) self.ref_obj.set_type(PlaceType.CITY) - self.ref_obj.add_alternative_name('Amsterdam') - self.ref_obj.add_alternative_name('Rotterdam') - self.ref_obj.add_alternative_name('Utrecht') - self.ref_obj.add_alternative_name('Leiden') + self.ref_obj.add_alternative_name(self.amsterdam) + self.ref_obj.add_alternative_name(self.rotterdam) + self.ref_obj.add_alternative_name(self.utrecht) + self.ref_obj.add_alternative_name(self.leiden) self.phoenix.merge(self.titanic) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) def test_merge_alternative_identical(self): - self.phoenix.set_name('Amsterdam') + self.phoenix.set_name(self.amsterdam) self.phoenix.set_type(PlaceType.CITY) - self.phoenix.add_alternative_name('Rotterdam') + self.phoenix.add_alternative_name(self.rotterdam) self.titanic.set_title('Place 2') - self.titanic.set_name('Amsterdam') + self.titanic.set_name(self.amsterdam) self.titanic.set_type(PlaceType.CITY) - self.titanic.add_alternative_name('Rotterdam') - self.ref_obj.set_name('Amsterdam') + self.titanic.add_alternative_name(self.rotterdam) + self.ref_obj.set_name(self.amsterdam) self.ref_obj.set_type(PlaceType.CITY) - self.ref_obj.add_alternative_name('Rotterdam') + self.ref_obj.add_alternative_name(self.rotterdam) self.phoenix.merge(self.titanic) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) def test_merge_alternative_different(self): - self.phoenix.set_name('Amsterdam') + self.phoenix.set_name(self.amsterdam) self.phoenix.set_type(PlaceType.CITY) - self.phoenix.add_alternative_name('Rotterdam') + self.phoenix.add_alternative_name(self.rotterdam) self.titanic.set_title('Place 2') - self.titanic.set_name('Amsterdam') + self.titanic.set_name(self.amsterdam) self.titanic.set_type(PlaceType.CITY) - self.titanic.add_alternative_name('Utrecht') - self.ref_obj.set_name('Amsterdam') + self.titanic.add_alternative_name(self.utrecht) + self.ref_obj.set_name(self.amsterdam) self.ref_obj.set_type(PlaceType.CITY) - self.ref_obj.add_alternative_name('Rotterdam') - self.ref_obj.add_alternative_name('Utrecht') + self.ref_obj.add_alternative_name(self.rotterdam) + self.ref_obj.add_alternative_name(self.utrecht) self.phoenix.merge(self.titanic) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) def test_merge_prialt_identical(self): - self.phoenix.set_name('Amsterdam') + self.phoenix.set_name(self.amsterdam) self.phoenix.set_type(PlaceType.CITY) - self.phoenix.add_alternative_name('Rotterdam') + self.phoenix.add_alternative_name(self.rotterdam) self.titanic.set_title('Place 2') - self.titanic.set_name('Rotterdam') + self.titanic.set_name(self.rotterdam) self.titanic.set_type(PlaceType.CITY) - self.ref_obj.set_name('Amsterdam') + self.ref_obj.set_name(self.amsterdam) self.ref_obj.set_type(PlaceType.CITY) - self.ref_obj.add_alternative_name('Rotterdam') + self.ref_obj.add_alternative_name(self.rotterdam) self.phoenix.merge(self.titanic) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) def test_merge_prialt2(self): - self.phoenix.set_name('Amsterdam') + self.phoenix.set_name(self.amsterdam) self.phoenix.set_type(PlaceType.CITY) - self.phoenix.add_alternative_name('Rotterdam') + self.phoenix.add_alternative_name(self.rotterdam) self.titanic.set_title('Place 2') - self.titanic.set_name('Rotterdam') + self.titanic.set_name(self.rotterdam) self.titanic.set_type(PlaceType.CITY) - self.titanic.add_alternative_name('Amsterdam') - self.ref_obj.set_name('Amsterdam') + self.titanic.add_alternative_name(self.amsterdam) + self.ref_obj.set_name(self.amsterdam) self.ref_obj.set_type(PlaceType.CITY) - self.ref_obj.add_alternative_name('Rotterdam') + self.ref_obj.add_alternative_name(self.rotterdam) self.phoenix.merge(self.titanic) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())