From 1e9a64fe6324d8b4ac96daafa7427e9f55e6dd38 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 3 Aug 2018 21:10:26 +0200 Subject: [PATCH] tests: add Geom.decompose tests --- tests/gobj/test_geom.py | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/gobj/test_geom.py diff --git a/tests/gobj/test_geom.py b/tests/gobj/test_geom.py new file mode 100644 index 0000000000..2a5a462659 --- /dev/null +++ b/tests/gobj/test_geom.py @@ -0,0 +1,42 @@ +from panda3d import core + +empty_format = core.GeomVertexFormat.get_empty() + + +def test_geom_decompose_in_place(): + vertex_data = core.GeomVertexData("", empty_format, core.GeomEnums.UH_static) + prim = core.GeomTristrips(core.GeomEnums.UH_static) + prim.add_vertex(0) + prim.add_vertex(1) + prim.add_vertex(2) + prim.add_vertex(3) + prim.close_primitive() + + geom = core.Geom(vertex_data) + geom.add_primitive(prim) + + geom.decompose_in_place() + + prim = geom.get_primitive(0) + assert tuple(prim.get_vertex_list()) == (0, 1, 2, 2, 1, 3) + + +def test_geom_decompose(): + vertex_data = core.GeomVertexData("", empty_format, core.GeomEnums.UH_static) + prim = core.GeomTristrips(core.GeomEnums.UH_static) + prim.add_vertex(0) + prim.add_vertex(1) + prim.add_vertex(2) + prim.add_vertex(3) + prim.close_primitive() + + geom = core.Geom(vertex_data) + geom.add_primitive(prim) + + new_geom = geom.decompose() + + new_prim = new_geom.get_primitive(0) + assert tuple(new_prim.get_vertex_list()) == (0, 1, 2, 2, 1, 3) + + # Old primitive should still be unchanged + assert prim == geom.get_primitive(0)