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 }); }
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); }