def test_privatize_with_grandparent(self, expected, private, event: Optional[Event]): person = Person('P0') person.private = private parent = Person('P1') person.parents.append(parent) grandparent = Person('P2') if event is not None: Presence(grandparent, Presence.Role.SUBJECT, event) parent.parents.append(grandparent) ancestry = Ancestry() ancestry.people[person.id] = person ancestry.people[parent.id] = parent ancestry.people[grandparent.id] = grandparent sut = Privatizer() sut.privatize(ancestry) self.assertEquals(expected, person.private)
def test_privatize_with_great_grandchild(self, expected, private, event: Optional[Event]): person = Person('P0') person.private = private child = Person('P1') person.children.append(child) grandchild = Person('P2') child.children.append(grandchild) great_grandchild = Person('P2') if event is not None: Presence(great_grandchild, Presence.Role.SUBJECT, event) grandchild.children.append(great_grandchild) ancestry = Ancestry() ancestry.people[person.id] = person sut = Privatizer() sut.privatize(ancestry) self.assertEquals(expected, person.private)
def test_clean(self): ancestry = Ancestry() onymous_event = Event('E0', Event.Type.BIRTH) onymous_event_presence = Presence(Presence.Role.SUBJECT) onymous_event_presence.person = Person('P0') onymous_event.presences.add(onymous_event_presence) ancestry.events[onymous_event.id] = onymous_event anonymous_event = Event('E1', Event.Type.BIRTH) ancestry.events[anonymous_event.id] = anonymous_event onymous_place = Place('P0', 'Amsterdam') onymous_place.events.add(onymous_event) ancestry.places[onymous_place.id] = onymous_place anonymous_place = Place('P1', 'Almelo') ancestry.places[anonymous_place.id] = anonymous_place onmyous_place_because_encloses_onmyous_places = Place( 'P3', 'Netherlands') onmyous_place_because_encloses_onmyous_places.encloses.add( onymous_place) onmyous_place_because_encloses_onmyous_places.encloses.add( anonymous_place) ancestry.places[onmyous_place_because_encloses_onmyous_places. id] = onmyous_place_because_encloses_onmyous_places clean(ancestry) self.assertDictEqual({ onymous_event.id: onymous_event, }, ancestry.events) self.assertDictEqual( { onymous_place.id: onymous_place, onmyous_place_because_encloses_onmyous_places.id: onmyous_place_because_encloses_onmyous_places, }, ancestry.places) self.assertNotIn( anonymous_place, onmyous_place_because_encloses_onmyous_places.encloses)