def test__coordinates__to_dict__success(latitude, longitude): coordinates = Coordinates(latitude, longitude) expected_response = {"latitude": latitude, "longitude": longitude} assert coordinates.to_dict() == expected_response assert (repr(coordinates) == f"[latitude: {coordinates.latitude}, longitude: {longitude}]")
async def get_county_data(self): csv_data = "" logger.info("Fetching CSV data for counties...") async with webclient.WEBCLIENT.get( f"{self.ENDPOINT}/COUNTY_INFO.csv") as response: csv_data = await response.text() parsed_data = list(csv.DictReader(csv_data.splitlines())) county_map = {} for county_data in parsed_data: county_map[self._county_data_id(county_data)] = LocationProperties( county_data["UID"], county_data["iso2"], county_data["iso3"], county_data["code3"], county_data["FIPS"], county_data["Admin2"], county_data["State"], county_data["Country"], Coordinates(county_data["Latitude"], county_data["Longitude"]), county_data["Formal_Name"], int(county_data["Population"] or 0), ) return county_map
def build_coordinates(latitude, longitude) -> Coordinates: """Constructors Coordinate class given latitude and longitude Arguments: latitude {str} -- latitude value. longitude {str} -- longitude value. Returns: Coordinates -- object representing coordinates for location. """ return Coordinates(latitude, longitude)
def test__vaLid_location_properties__to_dict__success(): expected_dict = { "uid": "uid", "iso2": "iso2", "iso3": "iso3", "code3": "code3", "fips": "fips", "county": "admin2", "state": "state", "country": "country", "coordinates": Coordinates(40, 73).to_dict(), "combined_key": "combined_key", "population": 6000, } assert VALID_LOCATION_PROPERTIES.to_dict() == expected_dict
async def get_country_data(self): coordinates = Coordinates("37.0902", "-95.7129") population = COUNTRY_POPULATION["US"] return { ("US", ): LocationProperties( uid="840", iso2="US", iso3="USA", code3="840", fips="", admin2="", state="", country="US", coordinates=coordinates, combined_key="United States", population=population, ) }
class LocationProperties(object): uid: str = None iso2: str = None iso3: str = None code3: str = None fips: str = None admin2: str = None state: str = None country: str = None coordinates: Coordinates = Coordinates(None, None) combined_key: str = None population: int = 0 @staticmethod def build_coordinates(latitude, longitude) -> Coordinates: """Constructors Coordinate class given latitude and longitude Arguments: latitude {str} -- latitude value. longitude {str} -- longitude value. Returns: Coordinates -- object representing coordinates for location. """ return Coordinates(latitude, longitude) def to_dict(self): return { "uid": self.uid, "iso2": self.iso2, "iso3": self.iso3, "code3": self.code3, "fips": self.fips, "county": self.admin2, "state": self.state, "country": self.country, "coordinates": self.coordinates.to_dict(), "combined_key": self.combined_key, "population": self.population, }
def test__build_coordinates__success(): actual_coordinates = LocationProperties.build_coordinates(40, 73) expected_coordinates = Coordinates(40, 73) assert actual_coordinates.latitude == expected_coordinates.latitude assert actual_coordinates.longitude == expected_coordinates.longitude
""" import pytest from backend.models.classes.coordinates import Coordinates from backend.models.classes.location_properties import LocationProperties VALID_LOCATION_PROPERTIES = LocationProperties( uid="uid", iso2="iso2", iso3="iso3", code3="code3", fips="fips", admin2="admin2", state="state", country="country", coordinates=Coordinates(40, 73), combined_key="combined_key", population=6000, ) def test__vaLid_location_properties__to_dict__success(): expected_dict = { "uid": "uid", "iso2": "iso2", "iso3": "iso3", "code3": "code3", "fips": "fips", "county": "admin2", "state": "state", "country": "country",
from backend.models.classes.location_properties import LocationProperties from backend.services.location_data_service import LocationDataService from backend.utils.country_population import COUNTRY_POPULATION from tests.base_test import TestBase from tests.conftest import mocked_strptime_isoformat EXPECTED_COUNTRY_DATA = { "uid": "840", "iso2": "US", "iso3": "USA", "code3": "840", "fips": "", "county": "", "state": "", "country": "US", "coordinates": Coordinates("37.0902", "-95.7129").to_dict(), "combined_key": "United States", "population": COUNTRY_POPULATION["US"], } EXPECTED_STATE_DATA = { "uid": "84000053", "iso2": "US", "iso3": "USA", "code3": "840", "fips": "53", "county": "", "state": "Washington", "country": "US", "coordinates": Coordinates("47.4009", "-121.4905").to_dict(), "combined_key": "Washington, US",