From 24b9eaf923d05191b62448dbe4e5e3217255a62d Mon Sep 17 00:00:00 2001 From: Bhavesh9908 Date: Tue, 3 Sep 2024 20:04:19 +0530 Subject: [PATCH 1/2] Bhavesh9908 --- README.md | 5 ++- data_structures/kd_tree/tests/test_kdtree.py | 37 ++++++-------------- 2 files changed, 15 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index d8eba4e016fa..fde39af7d6aa 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@
-

The Algorithms - Python

@@ -30,6 +29,10 @@ code style: black + + + +

All algorithms implemented in Python - for education

diff --git a/data_structures/kd_tree/tests/test_kdtree.py b/data_structures/kd_tree/tests/test_kdtree.py index 81f2cc990074..d04648e46a8e 100644 --- a/data_structures/kd_tree/tests/test_kdtree.py +++ b/data_structures/kd_tree/tests/test_kdtree.py @@ -8,46 +8,33 @@ @pytest.mark.parametrize( - ("num_points", "cube_size", "num_dimensions", "depth", "expected_result"), + ("num_points", "cube_size", "num_dimensions", "expected_result"), [ - (0, 10.0, 2, 0, None), # Empty points list - (10, 10.0, 2, 2, KDNode), # Depth = 2, 2D points - (10, 10.0, 3, -2, KDNode), # Depth = -2, 3D points + (0, 10.0, 2, None), # Empty points list + (10, 10.0, 2, KDNode), # 2D points + (10, 10.0, 3, KDNode), # 3D points ], ) -def test_build_kdtree(num_points, cube_size, num_dimensions, depth, expected_result): +def test_build_kdtree(num_points, cube_size, num_dimensions, expected_result): """ Test that KD-Tree is built correctly. Cases: - Empty points list. - - Positive depth value. - - Negative depth value. + - Valid points list with correct dimensions. """ - points = ( - hypercube_points(num_points, cube_size, num_dimensions).tolist() - if num_points > 0 - else [] - ) + points = hypercube_points(num_points, cube_size, num_dimensions).tolist() if num_points > 0 else [] - kdtree = build_kdtree(points, depth=depth) + kdtree = build_kdtree(points) if expected_result is None: # Empty points list case assert kdtree is None, f"Expected None for empty points list, got {kdtree}" else: - # Check if root node is not None + # Check if KD-Tree is built correctly assert kdtree is not None, "Expected a KDNode, got None" - - # Check if root has correct dimensions - assert ( - len(kdtree.point) == num_dimensions - ), f"Expected point dimension {num_dimensions}, got {len(kdtree.point)}" - - # Check that the tree is balanced to some extent (simplistic check) - assert isinstance( - kdtree, KDNode - ), f"Expected KDNode instance, got {type(kdtree)}" + assert isinstance(kdtree, KDNode), f"Expected KDNode instance, got {type(kdtree)}" + assert len(kdtree.point) == num_dimensions, f"Expected point dimension {num_dimensions}, got {len(kdtree.point)}" def test_nearest_neighbour_search(): @@ -95,6 +82,4 @@ def test_edge_cases(): if __name__ == "__main__": - import pytest - pytest.main() From 20809993f4a811e02241f6b01f130af127e6e502 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 15:50:53 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- data_structures/kd_tree/tests/test_kdtree.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/data_structures/kd_tree/tests/test_kdtree.py b/data_structures/kd_tree/tests/test_kdtree.py index d04648e46a8e..6df48b84efff 100644 --- a/data_structures/kd_tree/tests/test_kdtree.py +++ b/data_structures/kd_tree/tests/test_kdtree.py @@ -23,7 +23,11 @@ def test_build_kdtree(num_points, cube_size, num_dimensions, expected_result): - Empty points list. - Valid points list with correct dimensions. """ - points = hypercube_points(num_points, cube_size, num_dimensions).tolist() if num_points > 0 else [] + points = ( + hypercube_points(num_points, cube_size, num_dimensions).tolist() + if num_points > 0 + else [] + ) kdtree = build_kdtree(points) @@ -33,8 +37,12 @@ def test_build_kdtree(num_points, cube_size, num_dimensions, expected_result): else: # Check if KD-Tree is built correctly assert kdtree is not None, "Expected a KDNode, got None" - assert isinstance(kdtree, KDNode), f"Expected KDNode instance, got {type(kdtree)}" - assert len(kdtree.point) == num_dimensions, f"Expected point dimension {num_dimensions}, got {len(kdtree.point)}" + assert isinstance( + kdtree, KDNode + ), f"Expected KDNode instance, got {type(kdtree)}" + assert ( + len(kdtree.point) == num_dimensions + ), f"Expected point dimension {num_dimensions}, got {len(kdtree.point)}" def test_nearest_neighbour_search():