def test_family_tree_update(self): command = 'ADD_CHILD Anga Chit Male' new_member = member_model.Member('Anga', member_gender['FEMALE']) members_obj = {'Anga': new_member} family_tree_obj = family_tree_model.FamilyTree(members_obj) family_tree_obj.set_head_member(new_member) result = family_tree_service.update_family_tree( family_tree_obj, command) self.assertEqual(result['success_msg'], output_messages['CHILD_ADDITION_SUCCEEDED']) newly_created_child = result['updated_family_tree'].members['Chit'] self.assertEqual(newly_created_child.get_parent(), new_member)
def initialise_family_tree(): new_member = member.Member('Anga', member_gender['FEMALE']) members = {'Anga': new_member} family_tree_obj = family_tree.FamilyTree(members) logging.debug('Initialised family tree') family_tree_obj.set_head_member(new_member) test_data_file = open("initial_input_commands.txt", "r") data_file_lines = test_data_file.readlines() logging.debug('Starting File handling for set up commands') for line in data_file_lines: updated_info = family_tree_service.update_family_tree( family_tree_obj, line.rstrip()) family_tree_obj = updated_info['updated_family_tree'] test_data_file.close() logging.debug('Finished File handling for set up commands') return family_tree_obj
def create_family_tree(members, head_member): family_tree = family_tree_model.FamilyTree(members) family_tree.set_head_member(head_member) return family_tree
from src.action import member as member_action from src.models import member as member_model, family_tree as family_tree_model from src.constants import valid_actions, member_gender, output_messages import unittest child_action = valid_actions['ADD_CHILD'] get_relationship_action = valid_actions['GET_RELATIONSHIP'] first_member = member_model.Member('Anga', member_gender['FEMALE']) members_obj = {'Anga': first_member} family_tree_obj = family_tree_model.FamilyTree(members_obj) family_tree_obj.set_head_member(first_member) class TestMemberAction(unittest.TestCase): def test_add_child_action_success(self): result = member_action.execute(child_action, family_tree_obj, ['Anga', 'Chit', 'Male']) self.assertEqual(result['success_msg'], output_messages['CHILD_ADDITION_SUCCEEDED']) newly_added_member = result['updated_family_tree'].members['Chit'] parent = newly_added_member.get_parent() self.assertEqual(parent, first_member) def test_get_relationship_action_success(self): member_action.execute(child_action, family_tree_obj, ['Anga', 'Chit', 'Male']) result = member_action.execute(get_relationship_action, family_tree_obj, ['Chit', 'Mother']) self.assertEqual(len(result['members_list']), 1)
def test_family_tree_init(self): member = member_model.Member('Sherlock', member_gender['MALE']) members = {'Sherlock': member} family_tree = family_tree_model.FamilyTree(members) self.assertEqual(family_tree.members['Sherlock'], member)
def test_family_tree_head(self): member = member_model.Member('Sherlock', member_gender['MALE']) family_tree = family_tree_model.FamilyTree() family_tree.set_head_member(member) self.assertEqual(family_tree.get_head_member(), member)