Skip to content

Commit 2d1e7ec

Browse files
committed
more tests
1 parent c60c1ee commit 2d1e7ec

File tree

1 file changed

+57
-1
lines changed

1 file changed

+57
-1
lines changed

tests/compas/datastructures/test_halfedge.py

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ def sphere():
4646
return mesh
4747

4848

49+
@pytest.fixture
50+
def grid():
51+
mesh = Mesh.from_meshgrid(dx=10, nx=10)
52+
return mesh
53+
54+
4955
# ==============================================================================
5056
# Tests - Schema & jsonschema
5157
# ==============================================================================
@@ -257,7 +263,7 @@ def test_del_edge_attribute_in_view(mesh, edge_key):
257263
# Tests - Loops & Strip
258264
# ==============================================================================
259265

260-
def test_loops_and_strips(sphere):
266+
def test_loops_and_strips_closed(sphere):
261267
poles = list(sphere.vertices_where({'vertex_degree': 16}))
262268

263269
for nbr in sphere.vertex_neighbors(poles[0]):
@@ -278,3 +284,53 @@ def test_loops_and_strips(sphere):
278284

279285
assert len(ring) == 16, ring
280286
assert ring[0][0] == ring[-1][1]
287+
288+
289+
def test_loops_and_strips_open(grid):
290+
assert grid.number_of_edges() == 220
291+
292+
edge = 47, 48
293+
strip = grid.edge_strip(edge)
294+
loop = grid.edge_loop(edge)
295+
296+
assert edge in strip
297+
assert len(strip) == 11
298+
assert grid.is_edge_on_boundary(* strip[0])
299+
assert grid.is_edge_on_boundary(* strip[-1])
300+
301+
assert edge in loop
302+
assert len(loop) == 10
303+
assert grid.is_vertex_on_boundary(loop[0][0])
304+
assert grid.is_vertex_on_boundary(loop[-1][1])
305+
306+
307+
def test_loops_and_strips_open_corner(grid):
308+
assert grid.number_of_edges() == 220
309+
310+
edge = 0, 1
311+
loop = grid.edge_loop(edge)
312+
strip = grid.edge_strip(edge)
313+
314+
assert edge in strip
315+
assert len(strip) == 11
316+
assert grid.is_edge_on_boundary(* strip[0])
317+
assert grid.is_edge_on_boundary(* strip[-1])
318+
assert edge == strip[-1]
319+
320+
assert edge in loop
321+
assert len(loop) == 10
322+
assert edge == loop[0]
323+
324+
edge = 1, 0
325+
loop = grid.edge_loop(edge)
326+
strip = grid.edge_strip(edge)
327+
328+
assert edge in strip
329+
assert len(strip) == 11
330+
assert grid.is_edge_on_boundary(* strip[0])
331+
assert grid.is_edge_on_boundary(* strip[-1])
332+
assert edge == strip[0]
333+
334+
assert edge in loop
335+
assert len(loop) == 10
336+
assert edge == loop[-1]

0 commit comments

Comments
 (0)