Updated gen/lib/test/merge_test.py

svn: r18793
This commit is contained in:
Michiel Nauta
2012-01-29 16:19:08 +00:00
parent 3842c5a6a7
commit 56f98a2afb

View File

@@ -46,12 +46,13 @@ class NoteBaseTest:
self.phoenix.merge(self.titanic) self.phoenix.merge(self.titanic)
self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())
class SourceBaseTest: class CitationBaseTest:
def test_source_merge(self): def test_citation_merge(self):
srcref = gen.lib.SourceRef() citation = gen.lib.Citation()
srcref.set_page('p.10') citation.set_reference_handle('123456')
self.titanic.add_source_reference(srcref) citation.set_page('p.10')
self.ref_obj.add_source_reference(srcref) self.titanic.add_citation(citation.handle)
self.ref_obj.add_citation(citation.handle)
self.phoenix.merge(self.titanic) self.phoenix.merge(self.titanic)
self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())
@@ -166,7 +167,7 @@ class UrlBaseCheck(unittest.TestCase):
self.assertEqual(self.phoenix.serialize(), ref_url_list.serialize()) self.assertEqual(self.phoenix.serialize(), ref_url_list.serialize())
class AddressCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, class AddressCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
SourceBaseTest): CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Address() self.phoenix = gen.lib.Address()
self.phoenix.set_city('Amsterdam') self.phoenix.set_city('Amsterdam')
@@ -230,7 +231,7 @@ class AddressBaseCheck(unittest.TestCase):
self.assertEqual(self.phoenix.serialize(), self.ref_list.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_list.serialize())
class AttributeCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, class AttributeCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
SourceBaseTest): CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Attribute() self.phoenix = gen.lib.Attribute()
self.phoenix.set_type(gen.lib.AttributeType.AGE) self.phoenix.set_type(gen.lib.AttributeType.AGE)
@@ -297,7 +298,7 @@ class AttributeBaseCheck(unittest.TestCase):
self.assertEqual(self.phoenix.serialize(), self.ref_list.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_list.serialize())
class ChildRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, class ChildRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
SourceBaseTest): CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.ChildRef() self.phoenix = gen.lib.ChildRef()
self.phoenix.set_reference_handle('123456') self.phoenix.set_reference_handle('123456')
@@ -334,7 +335,7 @@ class ChildRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
self.assertEqual(self.phoenix.is_equal(self.ref_obj), True) self.assertEqual(self.phoenix.is_equal(self.ref_obj), True)
class EventCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, class EventCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
SourceBaseTest, MediaBaseTest, AttrBaseTest): CitationBaseTest, MediaBaseTest, AttrBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Event() self.phoenix = gen.lib.Event()
self.phoenix.set_description("hello world") self.phoenix.set_description("hello world")
@@ -366,32 +367,32 @@ class EventRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
attr1 = gen.lib.Attribute() attr1 = gen.lib.Attribute()
attr1.set_type(gen.lib.AttributeType.AGE) attr1.set_type(gen.lib.AttributeType.AGE)
attr1.set_value(10) attr1.set_value(10)
srcref1 = gen.lib.SourceRef() citation1 = gen.lib.Citation()
srcref1.set_reference_handle('123456') citation1.set_reference_handle('123456')
srcref1.set_page('p.10') citation1.set_page('p.10')
srcref2 = gen.lib.SourceRef() citation2 = gen.lib.Citation()
srcref2.set_reference_handle('234567') citation2.set_reference_handle('234567')
srcref2.set_page('p.20') citation2.set_page('p.20')
attr1.add_source_reference(srcref1) attr1.add_citation(citation1.handle)
attr1.add_source_reference(srcref2) attr1.add_citation(citation2.handle)
attr2 = gen.lib.Attribute() attr2 = gen.lib.Attribute()
attr2.set_type(gen.lib.AttributeType.AGE) attr2.set_type(gen.lib.AttributeType.AGE)
attr2.set_value(10) attr2.set_value(10)
srcref3 = gen.lib.SourceRef() citation3 = gen.lib.Citation()
srcref3.set_reference_handle('123456') citation3.set_reference_handle('123456')
srcref3.set_page('p.10') citation3.set_page('p.10')
srcref4 = gen.lib.SourceRef() citation4 = gen.lib.Citation()
srcref4.set_reference_handle('654321') citation4.set_reference_handle('654321')
srcref4.set_page('p.20') citation4.set_page('p.20')
attr2.add_source_reference(srcref3) attr2.add_citation(citation3.handle)
attr2.add_source_reference(srcref4) attr2.add_citation(citation4.handle)
self.phoenix.add_attribute(attr1) self.phoenix.add_attribute(attr1)
self.ref_obj.add_attribute(attr2) self.ref_obj.add_attribute(attr2)
self.phoenix.replace_source_references('234567','654321') self.phoenix.replace_citation_references('234567','654321')
self.assert_(self.phoenix.is_equal(self.ref_obj)) self.assert_(self.phoenix.is_equal(self.ref_obj))
class FamilyCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, class FamilyCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
SourceBaseTest, MediaBaseTest, AttrBaseTest): CitationBaseTest, MediaBaseTest, AttrBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Family() self.phoenix = gen.lib.Family()
self.phoenix.set_father_handle('123456') self.phoenix.set_father_handle('123456')
@@ -686,7 +687,7 @@ class FamilyCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
class LdsordCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, class LdsordCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
SourceBaseTest): CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.LdsOrd() self.phoenix = gen.lib.LdsOrd()
self.phoenix.set_temple('London, England') self.phoenix.set_temple('London, England')
@@ -888,7 +889,7 @@ class MediaBaseCheck(unittest.TestCase):
self.assertEqual(self.phoenix.serialize(), self.ref_list.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_list.serialize())
class MediaObjectCheck(unittest.TestCase, PrivacyBaseTest, AttrBaseTest, class MediaObjectCheck(unittest.TestCase, PrivacyBaseTest, AttrBaseTest,
NoteBaseTest, SourceBaseTest): NoteBaseTest, CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.MediaObject() self.phoenix = gen.lib.MediaObject()
self.phoenix.set_path('example.png') self.phoenix.set_path('example.png')
@@ -896,7 +897,7 @@ class MediaObjectCheck(unittest.TestCase, PrivacyBaseTest, AttrBaseTest,
self.ref_obj = gen.lib.MediaObject(self.phoenix) self.ref_obj = gen.lib.MediaObject(self.phoenix)
class MediaRefCheck(unittest.TestCase, PrivacyBaseTest, AttrBaseTest, class MediaRefCheck(unittest.TestCase, PrivacyBaseTest, AttrBaseTest,
SourceBaseTest, NoteBaseTest): CitationBaseTest, NoteBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.MediaRef() self.phoenix = gen.lib.MediaRef()
self.phoenix.set_rectangle("10 10 90 90") self.phoenix.set_rectangle("10 10 90 90")
@@ -917,7 +918,7 @@ class MediaRefCheck(unittest.TestCase, PrivacyBaseTest, AttrBaseTest,
self.assertEqual(self.phoenix.is_equivalent(self.titanic), EQUAL) self.assertEqual(self.phoenix.is_equivalent(self.titanic), EQUAL)
class NameCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, class NameCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
SourceBaseTest): CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Name() self.phoenix = gen.lib.Name()
self.phoenix.set_first_name('Willem') self.phoenix.set_first_name('Willem')
@@ -1002,7 +1003,7 @@ class NoteBaseCheck(unittest.TestCase):
self.assertEqual(self.phoenix.serialize(), ref_note_list.serialize()) self.assertEqual(self.phoenix.serialize(), ref_note_list.serialize())
class PersonCheck(unittest.TestCase, PrivacyBaseTest, MediaBaseTest, class PersonCheck(unittest.TestCase, PrivacyBaseTest, MediaBaseTest,
AttrBaseTest, NoteBaseTest, SourceBaseTest): AttrBaseTest, NoteBaseTest, CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Person() self.phoenix = gen.lib.Person()
name = gen.lib.Name() name = gen.lib.Name()
@@ -1368,7 +1369,7 @@ class PersonCheck(unittest.TestCase, PrivacyBaseTest, MediaBaseTest,
self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())
class PlaceCheck(unittest.TestCase, PrivacyBaseTest, MediaBaseTest, class PlaceCheck(unittest.TestCase, PrivacyBaseTest, MediaBaseTest,
UrlBaseTest, NoteBaseTest, SourceBaseTest): UrlBaseTest, NoteBaseTest, CitationBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Place() self.phoenix = gen.lib.Place()
self.phoenix.set_title('Place 1') self.phoenix.set_title('Place 1')
@@ -1485,17 +1486,17 @@ class RepoCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest, UrlBaseTest):
def test_replace(self): def test_replace(self):
address = gen.lib.Address() address = gen.lib.Address()
address.set_city('Utrecht') address.set_city('Utrecht')
srcref = gen.lib.SourceRef() citation = gen.lib.Citation()
srcref.set_reference_handle('123456') citation.set_reference_handle('123456')
address.add_source_reference(srcref) address.add_citation(citation.handle)
self.phoenix.add_address(address) self.phoenix.add_address(address)
address2 = gen.lib.Address() address2 = gen.lib.Address()
address2.set_city('Utrecht') address2.set_city('Utrecht')
srcref2 = gen.lib.SourceRef() citation2 = gen.lib.Citation()
srcref2.set_reference_handle('654321') citation2.set_reference_handle('654321')
address2.add_source_reference(srcref2) address2.add_citation(citation2.handle)
self.ref_obj.add_address(address2) self.ref_obj.add_address(address2)
self.phoenix.replace_source_references('123456','654321') self.phoenix.replace_citation_references('123456','654321')
self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())
class RepoRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest): class RepoRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest):
@@ -1644,116 +1645,69 @@ class SourceCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest,
self.phoenix.replace_repo_references('123456','654321') self.phoenix.replace_repo_references('123456','654321')
self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())
class SourceBaseCheck(unittest.TestCase): class CitationBaseCheck(unittest.TestCase):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.srcbase.SourceBase() self.phoenix = gen.lib.citationbase.CitationBase()
srcref = gen.lib.SourceRef() citation = gen.lib.Citation()
srcref.set_reference_handle('123456') citation.set_reference_handle('123456')
self.phoenix.add_source_reference(srcref) self.phoenix.add_citation(citation.handle)
self.titanic = gen.lib.srcbase.SourceBase() self.titanic = gen.lib.citationbase.CitationBase()
self.obj_list = gen.lib.srcbase.SourceBase() self.obj_list = gen.lib.citationbase.CitationBase()
def test_replace_nonew(self): def test_replace_nonew(self):
srcref = gen.lib.SourceRef() citation = gen.lib.Citation()
srcref.set_reference_handle('654321') citation.set_reference_handle('654321')
self.obj_list.add_source_reference(srcref) self.obj_list.add_citation(citation.handle)
self.phoenix.replace_source_references('123456','654321') self.phoenix.replace_citation_references('123456','654321')
self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize()) self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize())
def test_replace_different(self): def test_replace_newpresent(self):
srcref = gen.lib.SourceRef() citation = gen.lib.Citation()
srcref.set_reference_handle('654321') citation.set_reference_handle('654321')
srcref.set_page('p.10') citation.set_page('p.10')
srcref2 = gen.lib.SourceRef() citation2 = gen.lib.Citation()
srcref2.set_reference_handle('654321') citation2.set_reference_handle('234567')
self.obj_list.add_source_reference(srcref2) self.phoenix.add_citation(citation.handle)
self.obj_list.add_source_reference(srcref) self.phoenix.add_citation(citation2.handle)
self.phoenix.add_source_reference(srcref) self.obj_list.add_citation(citation2.handle)
self.phoenix.replace_source_references('123456','654321') self.obj_list.add_citation(citation.handle)
self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize()) self.phoenix.replace_citation_references('123456','654321')
def test_replace_identical(self):
srcref = gen.lib.SourceRef()
srcref.set_reference_handle('654321')
srcref2 = gen.lib.SourceRef()
srcref2.set_reference_handle('234567')
self.phoenix.add_source_reference(srcref2)
self.phoenix.add_source_reference(srcref)
self.obj_list.add_source_reference(srcref2)
self.obj_list.add_source_reference(srcref)
self.phoenix.replace_source_references('123456','654321')
self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize())
def test_replace_equal(self):
srcref = gen.lib.SourceRef()
srcref.set_reference_handle('654321')
srcref.set_privacy(True)
srcref2 = gen.lib.SourceRef()
srcref2.set_reference_handle('234567')
self.phoenix.add_source_reference(srcref2)
self.phoenix.add_source_reference(srcref)
self.obj_list.add_source_reference(srcref2)
self.obj_list.add_source_reference(srcref)
self.phoenix.replace_source_references('123456','654321')
self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize()) self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize())
def todo_test_replace_child(self): def todo_test_replace_child(self):
pass pass
def test_merge_identical(self): def test_merge_identical(self):
srcref = gen.lib.SourceRef() citation = gen.lib.Citation()
srcref.set_reference_handle('123456') citation.set_reference_handle('123456')
self.titanic.add_source_reference(srcref) self.titanic.add_citation(citation.handle)
self.obj_list.add_source_reference(srcref) self.obj_list.add_citation(citation.handle)
self.phoenix._merge_source_reference_list(self.titanic) self.phoenix._merge_citation_list(self.titanic)
self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize()) self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize())
def test_merge_equal(self): def test_merge_different(self):
srcref = gen.lib.SourceRef() citation = gen.lib.Citation()
srcref.set_reference_handle('123456') citation.set_reference_handle('234567')
srcref.set_privacy(True) citation2 = gen.lib.Citation()
self.titanic.add_source_reference(srcref) citation2.set_reference_handle('123456')
self.obj_list.add_source_reference(srcref) self.titanic.add_citation(citation.handle)
self.phoenix._merge_source_reference_list(self.titanic) self.obj_list.add_citation(citation2.handle)
self.obj_list.add_citation(citation.handle)
self.phoenix._merge_citation_list(self.titanic)
self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize()) self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize())
def test_merge_different(self): class CitationCheck(unittest.TestCase, PrivacyBaseTest, MediaBaseTest,
srcref = gen.lib.SourceRef() NoteBaseTest):
srcref.set_reference_handle('234567')
srcref2 = gen.lib.SourceRef()
srcref2.set_reference_handle('123456')
self.titanic.add_source_reference(srcref)
self.obj_list.add_source_reference(srcref2)
self.obj_list.add_source_reference(srcref)
self.phoenix._merge_source_reference_list(self.titanic)
self.assertEqual(self.phoenix.serialize(), self.obj_list.serialize())
class SourceRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.SourceRef() self.phoenix = gen.lib.Citation()
self.phoenix.set_reference_handle('123456') self.phoenix.set_reference_handle('123456')
self.phoenix.set_page('p.10') self.phoenix.set_page('p.10')
self.titanic = gen.lib.SourceRef(self.phoenix) self.titanic = gen.lib.Citation()
self.ref_obj = gen.lib.SourceRef(self.phoenix) self.titanic.set_reference_handle('123456')
self.titanic.set_page('p.10')
def test_ref_equivalence(self): self.ref_obj = gen.lib.Citation()
self.titanic.set_reference_handle('654321') self.ref_obj.set_reference_handle('123456')
self.assertEqual(self.phoenix.is_equivalent(self.titanic), DIFFERENT) self.ref_obj.set_page('p.10')
def test_page_equivalence(self):
self.assertEqual(self.phoenix.is_equivalent(self.titanic), IDENTICAL)
self.titanic.set_page('p.20')
self.assertEqual(self.phoenix.is_equivalent(self.titanic), DIFFERENT)
def test_date_equivalence(self):
date = gen.lib.Date()
date.set_yr_mon_day(1999, 12, 5)
self.titanic.set_date_object(date)
self.assertEqual(self.phoenix.is_equivalent(self.titanic), DIFFERENT)
def test_privacy_equivalence(self):
self.titanic.set_privacy(True)
self.assertEqual(self.phoenix.is_equivalent(self.titanic), EQUAL)
def test_merge_confidence(self): def test_merge_confidence(self):
known_values = ( (0, 0, 0), (0, 1, 0), (0, 2, 0), (0, 3, 0), (0, 4, 0), known_values = ( (0, 0, 0), (0, 1, 0), (0, 2, 0), (0, 3, 0), (0, 4, 0),
@@ -1768,6 +1722,17 @@ class SourceRefCheck(unittest.TestCase, PrivacyBaseTest, NoteBaseTest):
self.phoenix.merge(self.titanic) self.phoenix.merge(self.titanic)
self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize()) self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())
def test_merge_datamap(self):
self.phoenix.set_data_item('A', 'a')
self.phoenix.set_data_item('B', 'b')
self.titanic.set_data_item('B', 'bb')
self.titanic.set_data_item('C', 'c')
self.ref_obj.set_data_item('A', 'a')
self.ref_obj.set_data_item('B', 'b')
self.ref_obj.set_data_item('C', 'c')
self.phoenix.merge(self.titanic)
self.assertEqual(self.phoenix.serialize(), self.ref_obj.serialize())
class SurnameCheck(unittest.TestCase): class SurnameCheck(unittest.TestCase):
def setUp(self): def setUp(self):
self.phoenix = gen.lib.Surname() self.phoenix = gen.lib.Surname()