示例#1
0
        public void SetUp()
        {
            _mapsApiClient           = new MapsAPIClient(new ConfigurationWrapper().GetEnvironmentVarAsString("GOOGLE_API_SECRET_KEY"));
            _addressGeocodingService = new GoogleMapsAddressGeocodingService(_mapsApiClient);

            _fixture = new GoogleMapsDistanceMatrixAddressProximityService(_mapsApiClient, _addressGeocodingService);
        }
示例#2
0
        public void TestGetProximityFor100Addresses()
        {
            var mapsApiClient = new Mock <IMapsAPIClient>(MockBehavior.Strict);

            _fixture = new GoogleMapsDistanceMatrixAddressProximityService(mapsApiClient.Object, _addressGeocodingService);

            var elements = new List <DistanceMatrixRowElement>();

            for (var i = 0; i < 100; i++)
            {
                elements.Add(new DistanceMatrixRowElement
                {
                    Distance = new Duration
                    {
                        Value = 9000 + i
                    },
                    Status = "OK"
                });
            }

            var response = new GetDistanceMatrixResponse
            {
                Rows = new List <DistanceMatrixRow>
                {
                    new DistanceMatrixRow
                    {
                        Elements = elements
                    }
                }
            };

            var addresses = new List <string>();

            for (var i = 0; i < 100; i++)
            {
                addresses.Add($"{900 + i} Reading Rd, Mason, OH 45040");
            }

            mapsApiClient.Setup(mocked => mocked.APIGet("/maps/api/distancematrix/json",
                                                        It.IsAny <QueryParams>(),
                                                        It.IsAny <Func <HttpWebResponse, GetDistanceMatrixResponse> >(),
                                                        It.IsAny <DateTime?>(),
                                                        0,
                                                        It.IsAny <string>(),
                                                        true,
                                                        null,
                                                        true,
                                                        null)).Returns(response);

            var result = _fixture.GetProximity("990 Reading Rd, Mason, OH 45040", addresses);

            mapsApiClient.Verify(mocked => mocked.APIGet("/maps/api/distancematrix/json",
                                                         It.IsAny <QueryParams>(),
                                                         It.IsAny <Func <HttpWebResponse, GetDistanceMatrixResponse> >(),
                                                         It.IsAny <DateTime?>(),
                                                         0,
                                                         It.IsAny <string>(),
                                                         true,
                                                         null,
                                                         true,
                                                         null),
                                 Times.Once);
            Assert.AreEqual(100, result.Count);
        }