Skip to content

Commit ca64bab

Browse files
Lint
1 parent bce4e82 commit ca64bab

File tree

2 files changed

+46
-37
lines changed

2 files changed

+46
-37
lines changed

test/split_test.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import pytest
22

33
from yaramo.model import (
4+
DbrefGeoNode,
45
Edge,
56
Node,
67
Route,
@@ -10,7 +11,6 @@
1011
SignalKind,
1112
Topology,
1213
Wgs84GeoNode,
13-
DbrefGeoNode
1414
)
1515
from yaramo.operations import Label, Split
1616

@@ -499,6 +499,7 @@ def test_route_split():
499499
assert route_2 in topology_b
500500
assert len(topology_b.signals) == 3
501501

502+
502503
def test_route_split_three_parts():
503504
topology = Topology()
504505
node_1 = Node(geo_node=Wgs84GeoNode(0, 0))
@@ -539,13 +540,16 @@ def test_route_split_three_parts():
539540
topology.add_routes([route_1])
540541

541542
topology_a, topology_b, _ = Split.split(
542-
topology, split_edges={edge_3: 5.0, edge_5: 5.0}, node_label_assignments={node_1: Label.A_Topology}
543+
topology,
544+
split_edges={edge_3: 5.0, edge_5: 5.0},
545+
node_label_assignments={node_1: Label.A_Topology},
543546
)
544547

545548
# Note: route 1 goes over split area, so it gets removed
546549
assert len(topology_a.routes) == 0
547550
assert len(topology_b.routes) == 0
548551

552+
549553
def test_route_ends_on_split_edge():
550554
topology = Topology()
551555
node_1 = Node(geo_node=Wgs84GeoNode(0, 0))
@@ -767,6 +771,7 @@ def test_split_without_split_edges_connected_topology():
767771
node_label_assignments={node_a1: Label.A_Topology, node_a4: Label.B_Topology},
768772
)
769773

774+
770775
def test_topology_with_two_color_problem():
771776
topology = Topology()
772777
node_1 = Node(geo_node=DbrefGeoNode(x=0, y=0))
@@ -788,10 +793,10 @@ def test_topology_with_two_color_problem():
788793

789794
with pytest.raises(ValueError):
790795
topology_a, topology_b, _ = Split.split(
791-
topology,
792-
split_edges={edge_3: 5.0, edge_4: 5.0, edge_6: 5.0}
796+
topology, split_edges={edge_3: 5.0, edge_4: 5.0, edge_6: 5.0}
793797
)
794798

799+
795800
def test_topology_with_two_color_problem_but_solvable():
796801
topology = Topology()
797802

@@ -828,20 +833,19 @@ def test_topology_with_two_color_problem_but_solvable():
828833
[edge_1, edge_2, edge_3, edge_4, edge_5, edge_6, edge_7, edge_9, edge_10, edge_11]
829834
)
830835

831-
topology_a, topology_b, _ = Split.split(topology,
832-
split_edges={edge_2: 5.0, edge_3: 5.0, edge_10: 2.795},
833-
node_label_assignments={node_4: Label.A_Topology}
834-
)
836+
topology_a, topology_b, _ = Split.split(
837+
topology,
838+
split_edges={edge_2: 5.0, edge_3: 5.0, edge_10: 2.795},
839+
node_label_assignments={node_4: Label.A_Topology},
840+
)
835841
assert [node_4, node_1] in topology_a
836842
assert [node_3] in topology_b
837843

844+
838845
def test_validate_input():
839846
topology = Topology()
840847
with pytest.raises(ValueError):
841-
topology_a, topology_b, _ = Split.split(
842-
topology,
843-
split_edges={Edge(Node(), Node()): 5.0}
844-
)
848+
topology_a, topology_b, _ = Split.split(topology, split_edges={Edge(Node(), Node()): 5.0})
845849

846850
node_1 = Node(geo_node=DbrefGeoNode(x=0, y=0))
847851
node_3 = Node(geo_node=DbrefGeoNode(x=10, y=0))
@@ -861,13 +865,9 @@ def test_validate_input():
861865
topology.add_edges([edge_1, edge_3, edge_4, edge_5, edge_6, edge_7])
862866

863867
with pytest.raises(ValueError):
864-
topology_a, topology_b, _ = Split.split(
865-
topology,
866-
split_edges={Edge(Node(), Node()): 5.0}
867-
)
868+
topology_a, topology_b, _ = Split.split(topology, split_edges={Edge(Node(), Node()): 5.0})
868869

869870
with pytest.raises(ValueError):
870871
topology_a, topology_b, _ = Split.split(
871-
topology,
872-
node_label_assignments={Node(): Label.A_Topology}
873-
)
872+
topology, node_label_assignments={Node(): Label.A_Topology}
873+
)

yaramo/operations/split.py

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,9 @@ def _add_elements_to_topology(
6969
_add_elements_to_topology(node_labels, topology_a.add_node, topology_b.add_node)
7070
_add_elements_to_topology(edge_labels, topology_a.add_edge, topology_b.add_edge)
7171
_add_elements_to_topology(signal_labels, topology_a.add_signal, topology_b.add_signal)
72-
Split._assign_routes_to_topologies(topology, topology_a, topology_b, edge_labels, signal_labels)
73-
72+
Split._assign_routes_to_topologies(
73+
topology, topology_a, topology_b, edge_labels, signal_labels
74+
)
7475

7576
Split._validate_for_data_loss(topology, topology_a, topology_b, split_edges)
7677

@@ -96,7 +97,9 @@ def _validate_split_edges(topology: Topology, split_edges: Dict[Edge, float]):
9697
)
9798

9899
@staticmethod
99-
def _validate_node_label_assignment(topology: Topology, node_label_assignment: Dict[Node, Label]):
100+
def _validate_node_label_assignment(
101+
topology: Topology, node_label_assignment: Dict[Node, Label]
102+
):
100103
for node in node_label_assignment:
101104
if node not in topology:
102105
raise ValueError("Node of node label assignment not in topology.")
@@ -171,7 +174,10 @@ def _get_new_geo_node_same_type(_old_geo_node: GeoNode, x: float, y: float) -> G
171174
for route in topology.routes.values():
172175
if edge in route.edges:
173176
route.edges.remove(edge)
174-
if route.start_signal.edge not in route.edges or route.end_signal.edge not in route.edges:
177+
if (
178+
route.start_signal.edge not in route.edges
179+
or route.end_signal.edge not in route.edges
180+
):
175181
if route.start_signal.edge not in route.edges:
176182
route.edges.add(route.start_signal.edge)
177183
if route.end_signal.edge not in route.edges:
@@ -236,7 +242,9 @@ def _get_next_end_node_pair():
236242
for pair in new_end_nodes.values():
237243
_node_a = pair[0]
238244
_node_b = pair[1]
239-
if (_node_a in node_labels and _node_b not in node_labels) or (_node_a not in node_labels and _node_b in node_labels):
245+
if (_node_a in node_labels and _node_b not in node_labels) or (
246+
_node_a not in node_labels and _node_b in node_labels
247+
):
240248
return pair
241249
return _get_any_unlabeled_end_node_pair()
242250

@@ -249,7 +257,9 @@ def _get_next_end_node_pair():
249257
_dfs(node_b, Label.B_Topology)
250258
elif node_a in node_labels and node_b in node_labels:
251259
if node_labels[node_a] == node_labels[node_b]:
252-
raise ValueError("Split edges do not fully split or is not colorable with two colors. Split not possible.")
260+
raise ValueError(
261+
"Split edges do not fully split or is not colorable with two colors. Split not possible."
262+
)
253263
elif node_a in node_labels:
254264
_dfs(node_b, Label.get_opposite_label(node_labels[node_a]))
255265
elif node_b in node_labels:
@@ -268,7 +278,13 @@ def _get_next_end_node_pair():
268278
return node_labels, edge_labels, signal_labels
269279

270280
@staticmethod
271-
def _assign_routes_to_topologies(topology: Topology, topology_a: Topology, topology_b: Topology, edge_labels: Dict[Edge, Label], signal_labels: Dict[Signal, Label]):
281+
def _assign_routes_to_topologies(
282+
topology: Topology,
283+
topology_a: Topology,
284+
topology_b: Topology,
285+
edge_labels: Dict[Edge, Label],
286+
signal_labels: Dict[Signal, Label],
287+
):
272288
for route in topology.routes.values():
273289
start_signal_label = signal_labels[route.start_signal]
274290
end_signal_label = signal_labels[route.end_signal]
@@ -286,8 +302,7 @@ def _assign_routes_to_topologies(topology: Topology, topology_a: Topology, topol
286302
topology_a.add_route(route)
287303
else:
288304
topology_b.add_route(route)
289-
290-
305+
291306
@staticmethod
292307
def _assign_missing_elements_to_label(
293308
topology: Topology,
@@ -315,20 +330,14 @@ def _validate_for_data_loss(
315330
):
316331
for node in topology.nodes.values():
317332
if node not in topology_a and node not in topology_b:
318-
raise ValueError(
319-
"Unexpected data loss (lost node)."
320-
)
333+
raise ValueError("Unexpected data loss (lost node).")
321334

322335
for edge in topology.edges.values():
323336
if edge in split_edges:
324337
continue
325338
if edge not in topology_a and edge not in topology_b:
326-
raise ValueError(
327-
"Unexpected data loss (lost edge)."
328-
)
339+
raise ValueError("Unexpected data loss (lost edge).")
329340

330341
for signal in topology.signals.values():
331342
if signal not in topology_a and signal not in topology_b:
332-
raise ValueError(
333-
"Unexpected data loss (lost signal)."
334-
)
343+
raise ValueError("Unexpected data loss (lost signal).")

0 commit comments

Comments
 (0)