def test_clip_grid_fail(lease, export):

    new_lease = lease.copy()
    new_lease['x'] = new_lease['x'].apply(lambda x: x - 100000)

    with pytest.raises(RuntimeError):
        clip_grid(new_lease, export)
def test_make_grid(lease, export):

    clipped, lease_polygon = clip_grid(lease, export)
    network_graph = make_graph(lease, clipped)

    grid = make_grid(lease, clipped, network_graph, lease_polygon)

    assert isinstance(grid, Grid)
def test_make_graph(lease, export):

    clipped, _ = clip_grid(lease, export)
    graph = make_graph(lease, clipped)

    assert isinstance(graph, nx.Graph)

    distance = nx.dijkstra_path_length(graph, 500, 2000)

    assert distance > 0.
예제 #4
0
def test_set_substation_to_edge(lease, export):

    _, lease_polygon = clip_grid(lease, export)

    landing_point = Point((495000., 6502220))
    line = LineString([(491810., 6502220), landing_point])
    lease_area_ring = LinearRing(list(lease_polygon.exterior.coords))

    result = set_substation_to_edge(line, lease_area_ring, lease,
                                    lease_polygon)

    assert ((lease['x'] == result[0]) & (lease['y'] == result[1])).any()
def test_clip_grid(lease, export):

    grid_df_clipped, static_poly = clip_grid(lease, export)

    assert len(grid_df_clipped) < len(export)

    assert set(export.id).intersection(set(lease.id))
    assert not set(grid_df_clipped.id).intersection(set(lease.id))

    lease_coords = [(x, y) for x, y in zip(lease.x, lease.y)]
    result_coords = [(x, y)
                     for x, y in zip(grid_df_clipped.x, grid_df_clipped.y)]

    shared_coords = list(set(result_coords).intersection(set(lease_coords)))

    assert len(shared_coords) > 0
    assert static_poly.area > 0
def test_make_gradient_dict(lease, export):

    clipped, _ = clip_grid(lease, export)
    graph_dict = make_gradient_dict(lease, clipped)

    assert set(graph_dict.keys()) == set(lease.id) | set(clipped.id)