Cidr4 merge algorithm #5

Merged
PavelPatsey merged 91 commits from CIDR4_merge_algorithm into main 2025-01-27 22:05:39 +03:00
2 changed files with 24 additions and 3 deletions
Showing only changes of commit 71b5525c32 - Show all commits
+1 -1
View File
6
@@ -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]:
+23 -2
View File
@@ -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():