Cidr4 merge algorithm #5
+1
-1
@@ -138,7 +138,7 @@ def merge_neighbors(
|
|||||||
new_nodes.remove(a)
|
new_nodes.remove(a)
|
||||||
new_nodes.remove(b)
|
new_nodes.remove(b)
|
||||||
new_nodes.append(parent)
|
new_nodes.append(parent)
|
||||||
return sort_nodes(nodes)
|
return sort_nodes(new_nodes)
|
||||||
|
|
||||||
|
|
||||||
def find_neighbours_singles(groups: defaultdict) -> tuple[list, list]:
|
def find_neighbours_singles(groups: defaultdict) -> tuple[list, list]:
|
||||||
|
|||||||
@@ -296,8 +296,29 @@ def test_find_neighbours_singles(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_merge_neighbors():
|
def test_merge_neighbors__only_neighbours(nodes_only_neighbours):
|
||||||
assert True
|
new_nodes = merge_neighbors(
|
||||||
|
nodes_only_neighbours,
|
||||||
|
[
|
||||||
|
((0, 2, 12, 0), (1073741824, 2, 3, 0)),
|
||||||
|
((2147483648, 2, 1, 2147483648), (3221225472, 2, 2, 2147483648)),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
assert new_nodes == [
|
||||||
|
(0, 1, 15, 0),
|
||||||
|
(2147483648, 1, 3, 0),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def test_merge_neighbors__neighbours_n_singles(nodes_with_neighbours_n_singles):
|
||||||
|
new_nodes = merge_neighbors(
|
||||||
|
nodes_with_neighbours_n_singles,
|
||||||
|
[((0, 2, 12, 0), (1073741824, 2, 3, 0))],
|
||||||
|
)
|
||||||
|
assert new_nodes == [
|
||||||
|
(0, 1, 15, 0),
|
||||||
|
(2147483648, 2, 1, 2147483648),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
# def test_merge_nodes_recursion():
|
# def test_merge_nodes_recursion():
|
||||||
|
|||||||
Reference in New Issue
Block a user