示例#1
0
 public ReadOnlyCollection <PostalCode> LookupPostalCode(PostalCodeLookup lookup)
 {
     if (lookup != null)
     {
         lookup.UserName = _userName;
     }
     return(_client.LookupPostalCode(lookup));
 }
示例#2
0
 public void GeoNames_LookupPostalCode_ShouldReturnNull_WithoutUserName()
 {
     using (var geoNames = new GeoNamesContainer(null))
     {
         var finder  = new PostalCodeLookup();
         var results = geoNames.LookupPostalCode(finder);
         results.ShouldBeNull();
     }
 }
        public void GeoNames_PostalCodeLookup_ShouldHaveDefaultValues()
        {
            var finder = new PostalCodeLookup();

            finder.ShouldNotBeNull();
            finder.PostalCode.ShouldBeNull();
            finder.Country.ShouldBeNull();
            finder.UserName.ShouldBeNull();
            finder.MaxRows.ShouldEqual(20);
            finder.Style.ShouldEqual(ResultStyle.Medium);
        }
示例#4
0
        public void GeoNames_PostalCodeLookup_ShouldHaveDefaultValues()
        {
            var finder = new PostalCodeLookup();

            finder.ShouldNotBeNull();
            finder.PostalCode.ShouldBeNull();
            finder.Country.ShouldBeNull();
            finder.UserName.ShouldBeNull();
            finder.MaxRows.ShouldEqual(20);
            finder.Style.ShouldEqual(ResultStyle.Medium);
        }
示例#5
0
        /// <summary>
        /// Lookup a place by postal code. See
        /// <seealso cref="http://www.geonames.org/export/web-services.html#postalCodeLookupJSON">Official
        /// GeoNames postalCodeLookup Documentation</seealso> for more information.
        /// </summary>
        /// <param name="lookup">Arguments sent to the GeoNames service.</param>
        /// <returns>The closest populated place for the postal code/country query. The unit of the
        /// distance element is 'km'.</returns>
        public ReadOnlyCollection <PostalCode> LookupPostalCode(PostalCodeLookup lookup)
        {
            if (lookup == null)
            {
                throw new ArgumentNullException("lookup");
            }

            var response = ChannelLookupPostalCode(lookup);
            var results  = response.Items;

            return(results != null ? new ReadOnlyCollection <PostalCode>(results) : null);
        }
示例#6
0
 private PostalCodeResults ChannelLookupPostalCode(PostalCodeLookup lookup, int retry = 0)
 {
     try
     {
         return(Channel.LookupPostalCode(lookup.PostalCode, lookup.Country,
                                         lookup.MaxRows, lookup.Style, lookup.UserName));
     }
     catch (WebException ex)
     {
         if (retry < RetryLimit && ex.Message.StartsWith(ClosedConnectionMessage, StringComparison.Ordinal))
         {
             return(ChannelLookupPostalCode(lookup, ++retry));
         }
         throw;
     }
 }
        public void GeoNames_PostalCodeLookup_ShouldBePublic()
        {
            var finder = new PostalCodeLookup
            {
                PostalCode = "32819",
                Country = "US",
                UserName = "******",
                MaxRows = 2,
                Style = ResultStyle.Medium,
            };

            finder.ShouldNotBeNull();
            finder.PostalCode.ShouldEqual("32819");
            finder.Country.ShouldEqual("US");
            finder.UserName.ShouldNotBeNull();
            finder.MaxRows.ShouldEqual(2);
            finder.Style.ShouldEqual(ResultStyle.Medium);
        }
示例#8
0
        public void GeoNames_LookupPostalCode_ShouldReturn1Result_ForOrlando()
        {
            using (var geoNames = new GeoNamesContainer(UserName))
            {
                var finder = new PostalCodeLookup
                {
                    PostalCode = "32819",
                    Country    = "US",
                };
                var results = geoNames.LookupPostalCode(finder);

                results.ShouldNotBeNull();
                results.Count.ShouldEqual(1);
                results[0].Latitude.ShouldEqual(28.452157);
                results[0].Longitude.ShouldEqual(-81.46784);
                results[0].Name.ShouldEqual("Orlando");
            }
        }
示例#9
0
        public void GeoNames_PostalCodeLookup_ShouldBePublic()
        {
            var finder = new PostalCodeLookup
            {
                PostalCode = "32819",
                Country    = "US",
                UserName   = "******",
                MaxRows    = 2,
                Style      = ResultStyle.Medium,
            };

            finder.ShouldNotBeNull();
            finder.PostalCode.ShouldEqual("32819");
            finder.Country.ShouldEqual("US");
            finder.UserName.ShouldNotBeNull();
            finder.MaxRows.ShouldEqual(2);
            finder.Style.ShouldEqual(ResultStyle.Medium);
        }
示例#10
0
 public void GeoNames_LookupPostalCode_ShouldReturnNull_WithoutUserName()
 {
     using (var geoNames = new GeoNamesContainer(null))
     {
         var finder = new PostalCodeLookup();
         var results = geoNames.LookupPostalCode(finder);
         results.ShouldBeNull();
     }
 }
示例#11
0
        public void GeoNames_LookupPostalCode_ShouldReturn1Result_ForOrlando()
        {
            using (var geoNames = new GeoNamesContainer(UserName))
            {
                var finder = new PostalCodeLookup
                {
                    PostalCode = "32819",
                    Country = "US",
                };
                var results = geoNames.LookupPostalCode(finder);

                results.ShouldNotBeNull();
                results.Count.ShouldEqual(1);
                results[0].Latitude.ShouldEqual(28.452157);
                results[0].Longitude.ShouldEqual(-81.46784);
                results[0].Name.ShouldEqual("Orlando");
            }
        }
 public ReadOnlyCollection<PostalCode> LookupPostalCode(PostalCodeLookup lookup)
 {
     if (lookup != null) lookup.UserName = _userName;
     return _client.LookupPostalCode(lookup);
 }
示例#13
0
 public ReadOnlyCollection<PostalCode> FindNearbyPostalCodes(PostalCodeLookup lookup)
 {
     if (lookup != null) lookup.UserName = _userName;
     return _client.FindNearbyPostalCodes(lookup);
 }