From c5e20446bed7301221d717afae28c268dca14c8e Mon Sep 17 00:00:00 2001 From: Pavel Patsey Date: Sun, 19 Jan 2025 00:29:54 +0300 Subject: [PATCH] add merge_nodes_recursion test --- tests/test_cidr4_merger.py | 40 +++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/tests/test_cidr4_merger.py b/tests/test_cidr4_merger.py index 79265b2..1e64e45 100644 --- a/tests/test_cidr4_merger.py +++ b/tests/test_cidr4_merger.py @@ -327,19 +327,27 @@ def test_lift_lonely_node(nodes_only_singles): assert new_nodes == [(2147483648, 1, 1073741825, 0), (0, 2, 12, 0)] -# def test_merge_nodes_recursion(): -# assert merge_nodes( -# [ -# (0, 2, 12, 0), -# (2147483648, 2, 1, 2147483648), -# (3221225472, 2, 2, 2147483648), -# ], -# 2, -# ) == merge_nodes_recursion( -# [ -# (0, 2, 12, 0), -# (2147483648, 2, 1, 2147483648), -# (3221225472, 2, 2, 2147483648), -# ], -# 2, -# ) +def test_merge_nodes_recursion(): + assert merge_nodes_recursion( + [ + (0, 2, 12, 0), + (2147483648, 2, 1, 2147483648), + (3221225472, 2, 2, 2147483648), + ], + 2, + ) == [ + (2147483648, 1, 3, 0), + (0, 2, 12, 0), + ] + + with pytest.raises(Exception) as exc_info: + merge_nodes_recursion( + [ + (0, 2, 12, 0), + (2147483648, 2, 1, 2147483648), + (3221225472, 2, 2, 2147483648), + ], + 1, + ) + assert exc_info.type is Cidr4MergerError + assert str(exc_info.value) == "The top of the tree has no parent!"