public GroupData PrepareRemovingContactFromGroupTest()
        {
            GroupData groups;
            // выбираем первый контакт, который входит хотя бы в 1 группу
            ContactData contact = ContactData.GetContactsInGroup().FirstOrDefault();

            if (contact != null)
            {
                // удаляем контакт из группы
                groups = contact.GetGroups()[0];
                RemovingContactFromGroup(contact, groups);
            }
            else
            {
                // выбираем первую группу из списка групп, если список пустой - добавляем группу
                groups = manager.Groups.FirstOrCreate();
                // создаем контакт
                Create(
                    new ContactData
                {
                    FirstName  = TestBase.GenerateRandomString(20),
                    LastName   = TestBase.GenerateRandomString(50),
                    MiddleName = TestBase.GenerateRandomString(20),

                    Address     = TestBase.GenerateRandomString(300),
                    HomePhone   = TestBase.GenerateRandomPhoneNumeric(),
                    MobilePhone = TestBase.GenerateRandomPhoneNumeric(),
                    WorkPhone   = TestBase.GenerateRandomPhoneNumeric(),


                    Email1 = TestBase.GenerateRandomEmail(20, 5),
                    Email2 = TestBase.GenerateRandomEmail(20, 5),
                    Email3 = TestBase.GenerateRandomEmail(20, 5)
                });

                // ищем в базе этот контакт
                ContactData constact = ContactData.GetAll().Except(groups.GetContacts()).First();
                // добавляем в эту группу контакт
                AddContactToGroup(constact, groups);
            }
            return(groups);
        }