private void PrintParents(Person p1, Person p2)
        {
            foreach (var parent in p2.parents)
            {
                Helper.Print(p1.ToString(), Relationships.Child, parent.ToString());

                if (p1.gender == Relationships.Male)
                    Helper.Print(p1.ToString(), Relationships.Son, parent.ToString());

                if (p1.gender == Relationships.Female)
                    Helper.Print(p1.ToString(), Relationships.Daughter, parent.ToString());
            }
        }
        private void PrintSiblings(Person p1, Person p2)
        {
            Helper.Print(p1.ToString(), Relationships.Sibling, p2.ToString());

            if (p1.gender == Relationships.Male)
                Helper.Print(p1.ToString(), Relationships.Brother, p2.ToString());

            if (p1.gender == Relationships.Female)
                Helper.Print(p1.ToString(), Relationships.Sister, p2.ToString());
        }
        private void PrintKnownParents(Person p1, Person p2)
        {
            Helper.Print(p1.ToString(), Relationships.Parent, p2.ToString());

            if (p1.gender == Relationships.Male)
                Helper.Print(p1.ToString(), Relationships.Father, p2.ToString());

            if (p1.gender == Relationships.Female)
                Helper.Print(p1.ToString(), Relationships.Mother, p2.ToString());
        }
        private void PrintKnownSpouses(Person p1, Person p2)
        {
            Helper.Print(p1.ToString(), Relationships.Spouse, p2.ToString());

            if (p1.gender == Relationships.Male)
                Helper.Print(p1.ToString(), Relationships.Husband, p2.ToString());

            if (p1.gender == Relationships.Female)
                Helper.Print(p1.ToString(), Relationships.Wife, p2.ToString());
        }
        private void PrintKnownAuntsUncles(Person p1, Person p2)
        {
            if (p1.gender == Relationships.Female)
                Helper.Print(p1.ToString(), Relationships.Aunt, p2.ToString());

            if (p1.gender == Relationships.Male)
                Helper.Print(p1.ToString(), Relationships.Uncle, p2.ToString());
        }
        private void PrintGrandparents(Person p)
        {
            foreach (var parent in p.parents)
            {
                foreach (var child in p.children)
                {
                    Helper.Print(parent.ToString(), Relationships.Grandparent, child.ToString());
                    if (parent.gender == Relationships.Male)
                        Helper.Print(parent.ToString(), Relationships.Grandfather, child.ToString());

                    if (parent.gender == Relationships.Female)
                        Helper.Print(parent.ToString(), Relationships.Grandmother, child.ToString());

                    foreach (var childSibling in child.siblings)
                    {
                        Helper.Print(parent.ToString(), Relationships.Grandparent, childSibling.ToString());
                        if (parent.gender == Relationships.Male)
                            Helper.Print(parent.ToString(), Relationships.Grandfather, childSibling.ToString());

                        if (parent.gender == Relationships.Female)
                            Helper.Print(parent.ToString(), Relationships.Grandmother, childSibling.ToString());
                    }
                }
            }
        }
        private void PrintChildren(Person p1, Person p2)
        {
            Helper.Print(p1.ToString(), Relationships.Child, p2.ToString());

            if (p1.gender == Relationships.Male)
                Helper.Print(p1.ToString(), Relationships.Son, p2.ToString());

            if (p1.gender == Relationships.Female)
                Helper.Print(p1.ToString(), Relationships.Daughter, p2.ToString());
        }
 private void PrintAuntsAndUncles(Person p)
 {
     foreach (var sibling in p.siblings)
     {
         foreach (var child in p.children)
         {
             if (sibling.gender == Relationships.Male)
                 Helper.Print(sibling.ToString(), Relationships.Uncle, child.ToString());
             if (sibling.gender == Relationships.Female)
                 Helper.Print(sibling.ToString(), Relationships.Aunt, child.ToString());
         }
     }
 }
 public bool Equals(Person obj)
 {
     return name == obj.name;
 }