From 8bde2f2b1b172971c5e0e5778a5c7d636e64d0fb Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 22 Mar 2021 22:04:08 +0100 Subject: [PATCH] tests: Add unit tests for GeomPrimitive::offset_vertices() --- tests/gobj/test_geom_primitives.py | 62 ++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/tests/gobj/test_geom_primitives.py b/tests/gobj/test_geom_primitives.py index 49cce11e31..a4646512bf 100644 --- a/tests/gobj/test_geom_primitives.py +++ b/tests/gobj/test_geom_primitives.py @@ -81,3 +81,65 @@ def test_geom_linestrips_adjacency(): 3, 4, 5, 6, 4, 5, 6, 6, ) + + +def test_geom_linestrips_offset_indexed(): + prim = core.GeomLinestrips(core.GeomEnums.UH_static) + prim.add_vertex(0) + prim.add_vertex(1) + prim.close_primitive() + prim.add_vertex(1) + prim.add_vertex(2) + prim.add_vertex(3) + prim.close_primitive() + prim.add_vertex(3) + prim.add_vertex(4) + prim.add_vertex(5) + prim.add_vertex(6) + prim.close_primitive() + + prim.offset_vertices(100) + verts = prim.get_vertex_list() + cut = prim.strip_cut_index + assert tuple(verts) == ( + 100, 101, + cut, + 101, 102, 103, + cut, + 103, 104, 105, 106, + ) + + prim.offset_vertices(-100) + verts = prim.get_vertex_list() + cut = prim.strip_cut_index + assert tuple(verts) == ( + 0, 1, + cut, + 1, 2, 3, + cut, + 3, 4, 5, 6, + ) + + prim.offset_vertices(100, 4, 9) + verts = prim.get_vertex_list() + cut = prim.strip_cut_index + assert tuple(verts) == ( + 0, 1, + cut, + 1, 102, 103, + cut, + 103, 104, 5, 6, + ) + + # Automatically upgrade to uint32 + prim.offset_vertices(100000) + assert prim.index_type == core.GeomEnums.NT_uint32 + verts = prim.get_vertex_list() + cut = prim.strip_cut_index + assert tuple(verts) == ( + 100000, 100001, + cut, + 100001, 100102, 100103, + cut, + 100103, 100104, 100005, 100006, + )