Esempio n. 1
0
def test_column_names_get_flow_data():
    """Check DataFrame columns names."""
    _, _, df_list, _ = get_flow_data()
    for i in range(12):
        assert df_list[i].columns[0] == 'COMPKEY'
        assert df_list[i].columns[1] == 'FLOWSEGID'
        assert df_list[i].columns[2] == 'geometry'
Esempio n. 2
0
def test_output_add_flow_data():
    """Check final DataFrame."""
    # Get neighborhood polygons
    idx2poly = get_polygons(SHP_PATH)

    # Get mapping from FLOWSEGID to COMPKEY
    flow2key, _, df_list, year_list = get_flow_data()

    # Initialize lists for street data
    key_list = []
    name_list = []
    lon_list = []
    lat_list = []
    speed_list = []
    road_list = []
    nbhd_list = []

    # Get street data from Seattle Streets dataset
    data_frame = gpd.read_file(STREET_PATH)
    get_street_data(data_frame, 'street', idx2poly, key_list, name_list,
                    lon_list, lat_list, speed_list, road_list, nbhd_list)

    # Get street data from Traffic Flow Counts datasets
    for i in range(len(df_list) - 1, -1, -1):
        get_street_data(df_list[i], year_list[i], idx2poly, key_list,
                        name_list, lon_list, lat_list, speed_list, road_list,
                        nbhd_list)

    # Create initial DataFrame
    df_streets = pd.DataFrame(
        data={
            'key': key_list,
            'name': name_list,
            'lon': lon_list,
            'lat': lat_list,
            'speed': speed_list,
            'road': road_list,
            'nbhd': nbhd_list
        })

    # Add traffic flow data
    for i in range(len(df_list) - 1, -1, -1):
        add_flow_data(df_streets, df_list[i], year_list[i], flow2key)

    # Check column names and types
    name_list = ['key', 'name', 'lon', 'lat', 'speed', 'road', 'nbhd']
    type_list = [int, object, list, list, int, int, list]
    for i in range(7):
        assert list(df_streets)[i] == name_list[i]
        assert df_streets.dtypes[i] == type_list[i]
    for year in range(2007, 2019):
        assert list(df_streets)[year - 2000] == str(year)
        assert df_streets.dtypes[year - 2000] == int

    # Check values
    for year in range(2007, 2019):
        assert max(df_streets[str(year)].to_list()) > -1
        assert max(df_streets[str(year)].to_list()) > -1
Esempio n. 3
0
def test_consistency_get_flow_data():
    """Check data consistincy across dictionaries."""
    flow2key, key2flow, _, _ = get_flow_data()
    for key in key2flow:
        flow = key2flow[key]
        assert key in flow2key[flow].split(',')
    for flow in flow2key:
        keys = flow2key[flow]
        for key in keys.split(','):
            assert key2flow[key] == flow
Esempio n. 4
0
def test_key2flow_get_flow_data():
    """Check second dictionary."""
    _, key2flow, _, _ = get_flow_data()
    assert isinstance(key2flow, dict)
    key_type = set(type(k) for k in key2flow)
    val_type = set(type(v) for v in key2flow.values())
    assert len(key_type) == 1
    assert len(val_type) == 1
    assert list(key_type)[0] == str
    assert list(val_type)[0] == int
Esempio n. 5
0
def test_flow2key_get_flow_data():
    """Check first dictionary."""
    flow2key, _, _, _ = get_flow_data()
    assert isinstance(flow2key, dict)
    key_type = set(type(k) for k in flow2key)
    val_type = set(type(v) for v in flow2key.values())
    assert len(key_type) == 1
    assert len(val_type) == 1
    assert list(key_type)[0] == int
    assert list(val_type)[0] == str
Esempio n. 6
0
def test_year_get_flow_data():
    """Check year list."""
    _, _, _, year_list = get_flow_data()
    assert year_list == list(np.arange(2018, 2006, -1))
Esempio n. 7
0
def test_column_types_get_flow_data():
    """Check DataFrame types."""
    _, _, df_list, _ = get_flow_data()
    for i in range(12):
        assert df_list[i].dtypes[0] == object
        assert df_list[i].dtypes[1] == int
Esempio n. 8
0
def test_ouput_length_get_flow_data():
    """Check length of output."""
    _, _, df_list, year_list = get_flow_data()
    assert len(df_list) == 12
    assert len(year_list) == 12