コード例 #1
0
 public void TestNumberAdditionContainingShortCountryCodeWithPlusSymbolWhiteSpacesAndNotAllowedSymbolsAsSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "+359 (888) 41-80-12" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +359888418012]", phoneEntry.ToString());
 }
コード例 #2
0
 public void TestNumberAdditionContainingLeadingZeroAsCityCodeInFrontWhiteSpacesAndNotAlowedSymbolsAsSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "(02) 981 22 33" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +35929812233]", phoneEntry.ToString());
 }
コード例 #3
0
 public void TestNumberAdditionContainingShortCountryCodeWithPlusSymbolAndNoSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "+359527734522" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +359527734522]", phoneEntry.ToString());
 }
コード例 #4
0
 public void TestNumberAdditionContainingSingleZeroInFrontWhiteSpacesAndNotAllowedSymbolsAsSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "0883 / 456-789" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +359883456789]", phoneEntry.ToString());
 }
コード例 #5
0
 public void TestNumberAdditionContainingDashesAsSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "888-88-99-00" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +359888889900]", phoneEntry.ToString());
 }
コード例 #6
0
 public void TestNumberAdditionContainingNoAnyPrefixesAndNoSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "123" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +359123]", phoneEntry.ToString());
 }
        public void TestListMultipleEntriesInvalidStart()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Nakov", new string[] { "+359887333555" });
            phonebook.ListEntries(1, 1);
        }
コード例 #8
0
        public void ShouldNotAddNewNumbersWhenDuplicate()
        {
            PhonebookRepository repo = new PhonebookRepository();

            List <String> numbers  = new List <string>();
            string        userName = "******";
            string        phone    = "088 322 33 44";

            numbers.Add(phone);
            string phoneNew = "((+359) 899 777236";

            numbers.Add(phoneNew);
            repo.AddPhone(userName, numbers);

            List <String> numbersNew   = new List <string>();
            string        userNameSame = "test";
            string        phoneNewUser = "******";

            numbersNew.Add(phoneNewUser);
            string phone2NewUser = "******";

            numbersNew.Add(phone2NewUser);
            repo.AddPhone(userNameSame, numbersNew);

            var list = repo.ListEntries(0, 1);

            Assert.AreEqual(2, list[0].PhoneNumbers.Count);
        }
        public void TestListMultipleEntriesInvalidCount()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Nakov", new string[] { "+359887333555" });
            phonebook.AddPhone("Jorro", new string[] { "+359888444777" });
            phonebook.ListEntries(1, 2);
        }
コード例 #10
0
        public void TestMethodWithInvalidStartPositionShouldReturnNull()
        {
            var test = new PhonebookRepository();

            test.AddPhone("Pesho", new[] { "08895624", "08895625", "08895626" });

            var result = test.ListEntries(2, 1);

            Assert.AreEqual(null, result);
        }
コード例 #11
0
        public void ListingWithInvalidRangeParametersShouldReturnNull()
        {
            var repository = new PhonebookRepository();
            var contactName = "Pesho";
            string[] phoneNumbers = { "0899 777 235", "02 / 981 11 11" };

            repository.AddPhone(contactName, phoneNumbers);
            var actual = repository.ListEntries(10, 10);

            Assert.AreEqual(null, actual);
        }
コード例 #12
0
        public void ListingWithParametersSumGreatherThanPhoneNumbersCountShouldReturnNull()
        {
            var repository = new PhonebookRepository();
            var contactName = "Pesho";
            string[] phoneNumbers = { "0899 777 235", "02 / 981 11 11" };

            repository.AddPhone(contactName, phoneNumbers);
            var actual = repository.ListEntries(1, 2);

            Assert.AreEqual(null, actual);
        }
コード例 #13
0
        public void ListingWithNegativeStartingCountShouldReturnNull()
        {
            var repository = new PhonebookRepository();
            var contactName = "Pesho";
            string[] phoneNumbers = { "0899 777 235", "02 / 981 11 11" };

            repository.AddPhone(contactName, phoneNumbers);
            var actual = repository.ListEntries(-1, 10);

            Assert.AreEqual(null, actual);
        }
コード例 #14
0
        public void AddingNewPhoneNumberShouldMergePhoneNumbers()
        {
            var repository = new PhonebookRepository();
            var firstContactName = "Pesho";
            var secondContactName = "PeShO";
            string[] phoneNumbers = { "0899 777 235", "02 / 981 11 11", "112" };

            repository.AddPhone(firstContactName, phoneNumbers);
            var actual = repository.AddPhone(secondContactName, new List<string> { "112", "911" });

            Assert.AreEqual(4, repository.ListEntries(0, 1).First().PhoneNumbers.Count);
        }
コード例 #15
0
        public void ListingOneEntryShouldReturnFirstAddedContact()
        {
            var repository = new PhonebookRepository();
            var contactName = "Pesho";
            string[] phoneNumbers = { "0899 777 235", "02 / 981 11 11" };

            repository.AddPhone(contactName, phoneNumbers);
            var actual = repository.ListEntries(0, 1).First().ToString();
            var expected = "[Pesho: 02 / 981 11 11, 0899 777 235]";

            Assert.AreEqual(expected, actual);
        }
コード例 #16
0
        public void TestListSingleEntrySinglePhone()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Nakov", new string[] { "+359887333555" });
            string expectedResult = "[Nakov: +359887333555]";

            PhonebookEntry[] listedEntries = phonebook.ListEntries(0, 1);
            string           actualResult  = string.Join("; ", (object[])listedEntries);

            Assert.AreEqual(expectedResult, actualResult);
        }
コード例 #17
0
        public void ListMultipleOutOfRangeNegativeEntriesTest()
        {
            PhonebookRepository target = new PhonebookRepository();

            var name    = "Kalina";
            var numbers = new List <string>();

            numbers.Add("+35989943242235");
            target.AddPhone(name, numbers);

            name    = "Kalina";
            numbers = new List <string>();
            numbers.Add("+359899777235");
            target.AddPhone(name, numbers);

            name    = "Pesho";
            numbers = new List <string>();
            numbers.Add("+35945346433");
            target.AddPhone(name, numbers);

            name    = "Peshev";
            numbers = new List <string>();
            numbers.Add("+3594545454545");
            target.AddPhone(name, numbers);

            Content[] expected = new Content[3];
            expected[0] = new Content()
            {
                Name    = "Kalina",
                Numbers = new SortedSet <string>()
                {
                    { "+35989943242235" },
                    { "+359899777235" }
                }
            };
            expected[1] = new Content()
            {
                Name    = "Peshev",
                Numbers = new SortedSet <string>()
                {
                    { "+3594545454545" }
                }
            };
            expected[2] = new Content()
            {
                Name    = "Pesho",
                Numbers = new SortedSet <string>()
                {
                    { "+35945346433" }
                }
            };
            Content[] actual = target.ListEntries(-3, 5);
        }
コード例 #18
0
        public void TestMethodWithValidStartPositionAndCount()
        {
            var test = new PhonebookRepository();

            test.AddPhone("Pesho", new[] { "08895624", "08895625", "08895626" });
            test.AddPhone("Gosho", new[] { "08895624", "08895625", "08895626" });
            test.AddPhone("Mara", new[] { "08895624", "08895625", "08895626" });

            var result = test.ListEntries(0, 3);
            int returnedEntriesCount = result.Length;

            Assert.AreEqual(3, returnedEntriesCount);
        }
コード例 #19
0
        public void TestChangeSingleExistingPhone()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Nakov", new string[] { "+359887333555" });
            int changedPhonesCount = phonebook.ChangePhone("+359887333555", "+359888888888");

            Assert.AreEqual(1, changedPhonesCount);
            string expectedResult = "[Nakov: +359888888888]";

            PhonebookEntry[] listedEntries = phonebook.ListEntries(0, 1);
            string           actualResult  = string.Join("; ", (object[])listedEntries);

            Assert.AreEqual(expectedResult, actualResult);
        }
コード例 #20
0
        public void TestListMultipleEntriesWithMergeAndSorting()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Svetlin Nakov", new string[] { "+359887333555", "+35962445566" });
            phonebook.AddPhone("SVETLIN NAKOV", new string[] { "+3592555444", "+359887333555" });
            phonebook.AddPhone("Niki Kostov", new string[] { "+35989911222", "+35929887744" });
            phonebook.AddPhone("niki kostov", new string[] { "+35929887744", "+35989911222" });
            string expectedResult =
                "[Niki Kostov: +35929887744, +35989911222]; [Svetlin Nakov: +3592555444, +35962445566, +359887333555]";

            PhonebookEntry[] listedEntries = phonebook.ListEntries(0, 2);
            string           actualResult  = string.Join("; ", (object[])listedEntries);

            Assert.AreEqual(expectedResult, actualResult);
        }
コード例 #21
0
        public void ShouldNotListWhenBiggerCount()
        {
            PhonebookRepository repo = new PhonebookRepository();

            string        userName = "******";
            string        phone    = "088 322 33 44";
            string        phoneNew = "((+359) 899 777236";
            List <String> numbers  = new List <string>();

            numbers.Add(phone);
            numbers.Add(phoneNew);
            repo.AddPhone(userName, numbers);

            var list = repo.ListEntries(5, 10);

            Assert.AreEqual(null, list[0]);
        }
コード例 #22
0
        public void TestListMultipleEntriesSubPageWithSorting()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Nakov", new string[] { "+359887333555" });
            phonebook.AddPhone("Niki", new string[] { "+35989911222" });
            phonebook.AddPhone("Ani", new string[] { "+359886344544" });
            phonebook.AddPhone("Yana", new string[] { "+3599874456" });
            phonebook.AddPhone("Tanya", new string[] { "+359884222333" });
            string expectedResult =
                "[Nakov: +359887333555]; [Niki: +35989911222]; [Tanya: +359884222333]";

            PhonebookEntry[] listedEntries = phonebook.ListEntries(1, 3);
            string           actualResult  = string.Join("; ", (object[])listedEntries);

            Assert.AreEqual(expectedResult, actualResult);
        }
コード例 #23
0
        public void ShouldListUserPhonesWhenCalled()
        {
            PhonebookRepository repo = new PhonebookRepository();

            string        userName = "******";
            string        phone    = "088 322 33 44";
            string        phoneNew = "((+359) 899 777236";
            List <String> numbers  = new List <string>();

            numbers.Add(phone);
            numbers.Add(phoneNew);
            repo.AddPhone(userName, numbers);

            var list = repo.ListEntries(0, 1);

            Assert.AreEqual(userName, list[0].FirstName);
            Assert.AreEqual(2, list[0].PhoneNumbers.Count);
        }
コード例 #24
0
        public void TestChangePhoneWithMerge()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Nakov", new string[] { "+359887333555", "+359887333999" });
            phonebook.AddPhone("Ina", new string[] { "+359887333999" });
            phonebook.AddPhone("Ani", new string[] { "+359887333555", "359887333444" });
            int changedPhonesCount = phonebook.ChangePhone("+359887333999", "+359887333555");

            Assert.AreEqual(2, changedPhonesCount);
            string expectedResult =
                "[Ani: +359887333555, 359887333444]; [Ina: +359887333555]; [Nakov: +359887333555]";

            PhonebookEntry[] listedEntries = phonebook.ListEntries(0, 3);
            string           actualResult  = string.Join("; ", (object[])listedEntries);

            Assert.AreEqual(expectedResult, actualResult);
        }
コード例 #25
0
        public void ListDuplicateEntriesTest()
        {
            PhonebookRepository target = new PhonebookRepository();

            var name    = "Kalina";
            var numbers = new List <string>();

            numbers.Add("+35989943242235");
            target.AddPhone(name, numbers);

            name    = "Kalina";
            numbers = new List <string>();
            numbers.Add("+359899777235");
            target.AddPhone(name, numbers);

            Content[] expected = new Content[1];
            expected[0] = new Content()
            {
                Name    = "Kalina",
                Numbers = new SortedSet <string>()
                {
                    { "+35989943242235" },
                    { "+359899777235" }
                }
            };
            Content[] actual = target.ListEntries(0, 1);

            var sbExpected = new StringBuilder();

            foreach (var content in expected)
            {
                sbExpected.AppendLine(content.ToString());
            }

            var sbActual = new StringBuilder();

            foreach (var content in actual)
            {
                sbActual.AppendLine(content.ToString());
            }

            Assert.AreEqual(sbExpected.ToString(), sbActual.ToString());
        }
コード例 #26
0
        public void TestChangeSharedPhone()
        {
            PhonebookRepository phonebook = new PhonebookRepository();

            phonebook.AddPhone("Nakov", new string[] { "+359887333555", "+3592981981" });
            phonebook.AddPhone("Ina", new string[] { "+3592981981" });
            phonebook.AddPhone("Aneliya", new string[] { "+3592981981" });
            phonebook.AddPhone("Niki", new string[] { "+3592981981", "+359999888777" });
            int changedPhonesCount = phonebook.ChangePhone("+3592981981", "+3592982982");

            Assert.AreEqual(4, changedPhonesCount);
            string expectedResult =
                "[Aneliya: +3592982982]; [Ina: +3592982982]; [Nakov: +3592982982, +359887333555]; " +
                "[Niki: +3592982982, +359999888777]";

            PhonebookEntry[] listedEntries = phonebook.ListEntries(0, 4);
            string           actualResult  = string.Join("; ", (object[])listedEntries);

            Assert.AreEqual(expectedResult, actualResult);
        }
コード例 #27
0
        public void TestListEntries()
        {
            StringBuilder output = new StringBuilder();
            string        name   = "Kalina";

            string[]            item = new string[] { "+359899777135", "+359899777235" };
            PhonebookRepository phoneBookRepository = new PhonebookRepository();

            phoneBookRepository.AddPhone(name, item);
            IEnumerable <PhoneBookContactOutput> entries = phoneBookRepository.ListEntries(0, 1);

            foreach (var entry in entries)
            {
                output.AppendLine(entry.ToString());
            }

            string result   = output.ToString().Trim();
            string expected = "[Kalina: +359899777135, +359899777235]";

            Assert.AreEqual(result, expected);
        }
コード例 #28
0
        public void ShouldNotListWhenNegativeCount()
        {
            PhonebookRepository repo = new PhonebookRepository();

            string        userName = "******";
            string        phone    = "088 322 33 44";
            string        phoneNew = "((+359) 899 777236";
            List <String> numbers  = new List <string>();

            numbers.Add(phone);
            numbers.Add(phoneNew);
            repo.AddPhone(userName, numbers);

            PhonebookEntry[] list = null;
            try
            {
                list = repo.ListEntries(-5, -10);
            }
            catch (OverflowException ofe)
            {
                Assert.AreEqual(null, list);
            }
        }
コード例 #29
0
 public void TestNumberAdditionContainingOtherCountryShortCountryCodeNoSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "+1123456789" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +1123456789]", phoneEntry.ToString());
 }
コード例 #30
0
 public void TestAddingSinglePhonebookEntryWithTwoPhoneNumbers()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "+1123456789" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +1123456789]", phoneEntry.ToString());
 }
コード例 #31
0
 public void TestNumberAdditionContainingOtherCountryShortCountryCodeWithPlusSymbolWhiteSpacesAndNotAllowedSymbolsAsSeparators()
 {
     var phonebook = new PhonebookRepository();
     phonebook.AddPhone("Mike", new[] { "(+1) 123-456-789" });
     var actualPhone = phonebook.ListEntries(0, 1);
     PhonebookEntry phoneEntry = phonebook.ListEntries(0, 1).FirstOrDefault();
     Assert.AreEqual("[Mike: +1123456789]", phoneEntry.ToString());
 }
コード例 #32
0
        public void TestListEntries()
        {
            var testRepository = new PhonebookRepository();

            testRepository.ListEntries(-1, 50);
        }
コード例 #33
0
 public void TestListEntries()
 {
     var testRepository = new PhonebookRepository();
     testRepository.ListEntries(-1, 50);
 }