public void TestAddingContactToGroup() { List <GroupData> grList = AddressBookDBHelper.GetAllGroups(); List <ContactData> cdList = AddressBookDBHelper.GetAllContacts(); if (cdList.Count == 0) { new ContactsTests().ContactCreationTest(ContactsTests.ContactProvider().GetEnumerator().Current); cdList = AddressBookDBHelper.GetAllContacts(); } if (grList.Count == 0) { GroupCreationTest(GroupsCreator().ElementAt(0)); grList = AddressBookDBHelper.GetAllGroups(); } // найдем контакт, который НЕ во всех группах foreach (ContactData cd in cdList) { List <GroupData> cdGroups = AddressBookDBHelper.GetGroupsByContact(cd); if (cdGroups.Count != grList.Count) // где то есть группа БЕЗ этого контакта { GroupData gr = null; if (cdGroups.Count == 0) // контакта нет ни в одной группе { gr = grList[0]; } else { gr = grList.Except(cdGroups).First(); } TestAddingContactToGroupActionPart(gr, cd); return; } /* * foreach (GroupData gr in cdGroups) * { * System.Console.Out.WriteLine(string.Format("For contact : {0} -> group: {1}", cd.Name, gr.Name)); * } */ } // если мы тут, значит все контакты во всех группах // можно создать контакт и впихнуть в любую группу, или создать новую группу и взять любой контакт // ну а раз тест в классе групп, то создадим группу и впихнем в нее первый контакт GroupCreationTest(GroupsCreator().ElementAt(0)); TestAddingContactToGroupActionPart( AddressBookDBHelper.GetAllGroups().Except(AddressBookDBHelper.GetGroupsByContact(cdList[0])).First(), cdList[0]); }
public void CompareContacts_UI_vs_DB() { if (!PERFORM_LONG_UI_CHECKS) { return; } List <ContactData> fromUI = app.mContactsHelper.GoToContacts().GetContactsList(); List <ContactData> fromDB = AddressBookDBHelper.GetAllContacts(); fromUI.Sort(); fromDB.Sort(); Assert.AreEqual(fromUI, fromDB); }
public void TestRemovalContactFromGroup() { // получить список групп (из БД) // найти группу где есть хоть один контакт (из БД) // открыть контакты и выбрать эту группу в фильтре // выбрать контакт в списке и удалить его // получить новый список контактов в выбранно группе // удалить удаленный контакт из первого списка и сравнить List <GroupData> grList = AddressBookDBHelper.GetAllGroups(); List <ContactData> cdList = AddressBookDBHelper.GetAllContacts(); if (cdList.Count == 0) { new ContactsTests().ContactCreationTest(ContactsTests.ContactProvider().GetEnumerator().Current); cdList = AddressBookDBHelper.GetAllContacts(); } if (grList.Count == 0) { GroupCreationTest(GroupsCreator().ElementAt(0)); grList = AddressBookDBHelper.GetAllGroups(); } ContactData victumContact = null; GroupData victumGroup = null; List <ContactData> oldList = null; foreach (GroupData gr in AddressBookDBHelper.GetAllGroups()) { oldList = AddressBookDBHelper.GetContactsInGroup(gr); if (oldList.Count > 0) { victumGroup = gr; break; } } if (victumGroup == null) { // All groups are empty Assert.Warn("All groups are empty"); victumGroup = AddressBookDBHelper.GetAllGroups().First(); victumContact = AddressBookDBHelper.GetAllContacts().First(); TestAddingContactToGroupActionPart(victumGroup, victumContact); } else { victumContact = oldList.First(); } // а теперь сами проверки по удалению группы... app.mContactsHelper.GoToContacts() .SelectGroupFilter(victumGroup.Name) .SelectContact(victumContact.Id) .CommitRemoveContactFromGroup(); List <ContactData> newList = AddressBookDBHelper.GetContactsInGroup(victumGroup); oldList.Remove(victumContact); newList.Sort(); oldList.Sort(); Assert.AreEqual(oldList, newList); }