Fixed merge tests for Places; fixed init for PlaceNames with source
This commit is contained in:
		@@ -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):
 | 
			
		||||
        """
 | 
			
		||||
 
 | 
			
		||||
@@ -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())
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user