Example #1
0
        public void ValidDataConversion()
        {
            var address  = new Address("1653 La Golondrina Ave", "Alhambra", "CA", "91803");
            var location = address.getLocation().Replace(' ', '+');

            Assert.Equal(location, "1653+La+Golondrina+Ave,+Alhambra,+CA");
            MapWebAPIComm network    = new MapWebAPIComm();
            var           mappedData = new WebAPIGeocode();
            var           requestDTO = new NetworkLocationDTO()
            {
                Location = location
            };
            var    test     = Task.Run(async() => { return(await network.Request(requestDTO)); }).Result;
            string response = test.Response;
            var    data     = JObject.Parse(response);

            Assert.Equal(data["status"], ("OK"));
            JArray convertedData           = (JArray)data["results"][0]["address_components"];
            int    addressComponentsLength = convertedData.Count;

            Assert.Equal(addressComponentsLength, 8);

            for (int i = 0; i < convertedData.Count; i++)
            {
                if (data["results"][0]["address_components"][i]["types"][0].ToString().Equals("administrative_area_level_2"))
                {
                    Assert.Equal(data["results"][0]["address_components"][i]["long_name"].ToString(), "Los Angeles County");
                }
            }
            Assert.Equal(data["results"][0]["geometry"]["location"]["lat"].ToString(), "34.0740499");
            Assert.Equal(data["results"][0]["geometry"]["location"]["lng"].ToString(), "-118.1531137");
        }
        public Outcome Execute()
        {
            MapWebAPIComm network    = new MapWebAPIComm();
            var           requestDTO = new NetworkLocationDTO()
            {
                Location = RequestedLocation
            };

            // Waits for the request to finish
            // TODO: I need to fix this Task.Run issue
            var test = Task.Run(async() => { return(await network.Request(requestDTO)); }).Result;

            // Converts the data from the web api
            MapDataAdapter dataMapper = new MapDataAdapter();
            var            mappedData = dataMapper.Convert(test.Response);

            ValidatedLocation = mappedData;

            // Validating County based on the scope
            if (ValidatedLocation.County != null && (ValidatedLocation.County.Equals("Los Angeles County") || ValidatedLocation.County.Equals("Orange County")))
            {
                ValidatedLocation.IsValid = true;
            }
            else
            {
                ValidatedLocation.IsValid = false;
            }

            return(new Outcome()
            {
                Result = ValidatedLocation
            });
        }
Example #3
0
        public async void ValidGeoCodeRequest()
        {
            MapWebAPIComm network    = new MapWebAPIComm();
            var           requestDTO = new NetworkLocationDTO()
            {
                Location = "1600+Amphitheatre+Parkway,+Mountain+View,+CA"
            };
            var result = await network.Request(requestDTO);

            var json = JObject.Parse(result.Response);

            Assert.Equal(json["results"][0]["address_components"][4]["long_name"], "Santa Clara County");
            Assert.Equal(json["status"], "OK");
            JArray list = (JArray)json["results"][0]["address_components"];

            Assert.Equal(list.Count, 8);
            Assert.Equal(json["results"][0]["address_components"][4]["types"][0].ToString(), "administrative_area_level_2");
            Assert.Equal(json["results"][0]["geometry"]["location"]["lat"].ToString(), "37.4224082");
            Assert.Equal(json["results"][0]["geometry"]["location"]["lng"].ToString(), "-122.0856086");
        }
        /// <summary>
        /// Checks if the address is in the scope of Whatfits by sending a request to Google Maps Web API
        /// </summary>
        /// <param name="address"> location based on users input </param>
        /// <returns> status of the validation of the location </returns>
        public bool CheckAddress(string address)
        {
            var           location   = address.Replace(' ', '+');
            MapWebAPIComm network    = new MapWebAPIComm();
            var           requestDTO = new NetworkLocationDTO()
            {
                Location = location
            };

            // Waits for the request to finish
            var test = Task.Run(async() => { return(await network.Request(requestDTO)); }).Result;

            // Converts the data from the web api
            MapDataAdapter dataMapper = new MapDataAdapter();
            var            mappedData = dataMapper.Convert(test.Response);

            // Validating County based on the scope
            if (mappedData.County != null && (mappedData.County.Equals("Los Angeles County") || mappedData.County.Equals("Orange County")))
            {
                ValidatedLocation = mappedData;
                return(true);
            }
            return(false);
        }