Esempio n. 1
0
        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]);
        }
Esempio n. 2
0
        public delegate void XMLWriterDelegate <T>(System.Collections.IList elements, StreamWriter writer); //declaring a delegate

        static void Main(string[] args)
        {
            if (args.Length < 3)
            {
                System.Console.Out.WriteLine("Descr: util for generating random data for addressbook tests");
                System.Console.Out.WriteLine("Usage: app.exe typeOfData countOfElements outPutFileName [typeOfFile]");
                System.Console.Out.WriteLine("typeOfData : groups | contacts");
                System.Console.Out.WriteLine("countOfElements : count of elements to create (int32)");
                System.Console.Out.WriteLine("outPutFileName : full path to file to save to");
                System.Console.Out.WriteLine("typeOfFile : xml | json : if not set used postfix of filename (.xml | .json)");
                System.Environment.Exit(1);
            }

            string typeOfData = args[0];
            int    countOfElementsToCreate = Convert.ToInt32(args[1]);
            string fileName = args[2];
            string format   = null;

            if (args.Length > 3)
            {
                format = args.ElementAt(3);
            }
            else
            {
                format = fileName.Split('.').Last();
            }

            System.Collections.IList elements = null;

            StreamWriter writer = new StreamWriter(fileName);
            XMLWriterDelegate <BaseData> xmlWriter = null;

            switch (typeOfData)
            {
            case "contacts":
                elements  = new List <ContactData>(ContactsTests.RandomContactProvider(countOfElementsToCreate));
                xmlWriter = WriteToXMLFile <ContactData>;
                break;

            case "groups":
                elements  = new List <GroupData>(GroupsTests.RandomGroupProvider(countOfElementsToCreate));
                xmlWriter = WriteToXMLFile <GroupData>;
                break;

            default:
                System.Console.Out.WriteLine("Unknown dataType: " + typeOfData);
                System.Environment.Exit(1);
                break;
            }

            switch (format)
            {
            case "xml":
                xmlWriter(elements, writer);
                break;

            case "json":
                WriteToJSONFile(elements, writer);
                break;

            default:
                System.Console.Out.WriteLine("Unknown format: " + format);
                System.Environment.Exit(1);
                break;
            }

            writer.Close();
        }
Esempio n. 3
0
        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);
        }