Example #1
0
        public void GetCountryNameByNumber_PhoneNumberInDresdenGermany_ReturnsGermany()
        {
            MockRepository           mocks                = new MockRepository();
            IPhoneNumberDataXml      xmlDataProvider      = mocks.Stub <IPhoneNumberDataXml>();
            IPhoneNumberDataRegistry registryDataProvider = mocks.Stub <IPhoneNumberDataRegistry>();

            string number   = "+493511234567";
            string expected = "Deutschland";

            using (mocks.Record())
            {
                xmlDataProvider.GetCountryCode("4935");
                LastCall.Return("49");
                xmlDataProvider.GetAreaCode("+493511234567");
                LastCall.Return("+49351");
                xmlDataProvider.GetCountryID("+49351");
                LastCall.Return("49");

                registryDataProvider.GetCountryName(49);
                LastCall.Return(expected);
            }

            PhoneNumbers phoneNumberConverter = new PhoneNumbers(xmlDataProvider, registryDataProvider);
            string       actual = phoneNumberConverter.GetCountryNameByNumber(number);

            Assert.AreEqual(expected, actual);
        }
Example #2
0
        public void GetCountryNameByNumber_PhoneNumberInDresdenGermanyWithoutRegistryAccess_GetsCountryNameFromXML()
        {
            MockRepository           mocks                = new MockRepository();
            IPhoneNumberDataXml      xmlDataProvider      = mocks.StrictMock <IPhoneNumberDataXml>();
            IPhoneNumberDataRegistry registryDataProvider = mocks.Stub <IPhoneNumberDataRegistry>();

            string number = "+493511234567";

            using (mocks.Record())
            {
                xmlDataProvider.GetCountryCode("4935");
                LastCall.Return("49");
                xmlDataProvider.GetAreaCode("+493511234567");
                LastCall.Return("+49351");
                xmlDataProvider.GetCountryID("+49351");
                LastCall.Return("49");
                xmlDataProvider.GetCountryName(49);
                LastCall.Return("Germany");
            }

            PhoneNumbers phoneNumberConverter = new PhoneNumbers(xmlDataProvider, registryDataProvider);

            phoneNumberConverter.GetCountryNameByNumber(number);

            mocks.VerifyAll();
        }
Example #3
0
        public void GetCountryID_PhoneNumberOfTMobileGermany_Returns49()
        {
            MockRepository           mocks                = new MockRepository();
            IPhoneNumberDataXml      xmlDataProvider      = mocks.Stub <IPhoneNumberDataXml>();
            IPhoneNumberDataRegistry registryDataProvider = mocks.Stub <IPhoneNumberDataRegistry>();

            string number   = "+491511123456";
            string expected = "49";

            using (mocks.Record())
            {
                xmlDataProvider.GetCountryCode("4915");
                LastCall.Return("49");
                xmlDataProvider.GetAreaCode("+491511123456");
                LastCall.Return("+491511");
                xmlDataProvider.GetCountryID("+491511");
                LastCall.Return(expected);
            }

            PhoneNumbers phoneNumberConverter = new PhoneNumbers(xmlDataProvider, registryDataProvider);
            string       actual = phoneNumberConverter.GetCountryID(number);

            Assert.AreEqual(expected, actual);
        }
Example #4
0
        public string GetCountryID(string number)
        {
            if (String.IsNullOrEmpty(number))
            {
                return(String.Empty);
            }
            if (Regex.IsMatch(number, PhoneNumberConstants.PHONE_NUMBER_PATTERN) == false)
            {
                return(String.Empty);
            }

            string result = "";

            string areaCode = GetFullAreaCode(number);

            if (String.IsNullOrEmpty(areaCode))
            {
                return(String.Empty);
            }

            result = xmlDataProvider.GetCountryID(areaCode);

            return(result);
        }