Эх сурвалжийг харах

find_label_border_polygonal_chains: increase coverage

Fabian Peter Hammerle 3 жил өмнө
parent
commit
454cb755a3
1 өөрчлөгдсөн 19 нэмэгдсэн , 0 устгасан
  1. 19 0
      tests/test_surface.py

+ 19 - 0
tests/test_surface.py

@@ -1,5 +1,6 @@
 import copy
 import datetime
+import unittest.mock
 
 import numpy
 import pytest
@@ -496,6 +497,24 @@ def test_find_label_border_polygonal_chains():
     assert vertex_indices_normalized[-4:] == [36281, 34870, 33454, 33450]
 
 
+def test_find_label_border_polygonal_chains_long_leaf():
+    surface = Surface()
+    with unittest.mock.patch.object(
+        surface,
+        "_find_label_border_segments",
+        return_value=[
+            LineSegment((0, 1)),
+            LineSegment((1, 2)),
+            LineSegment((0, 3)),
+            LineSegment((2, 3)),
+            LineSegment((2, 4)),
+            LineSegment((4, 5)),  # leaf
+        ],
+    ):
+        (border_chain,) = surface.find_label_border_polygonal_chains("dummy")
+    assert list(border_chain.normalized().vertex_indices) == [0, 1, 2, 4, 5, 4, 2, 3]
+
+
 def test__unused_vertices():
     surface = Surface()
     assert not surface._unused_vertices()