From 02960ad1eff15909c9af2a503b622cd34918a100 Mon Sep 17 00:00:00 2001 From: Amorilia <amorilia@users.sourceforge.net> Date: Sat, 17 Sep 2011 09:21:04 +0100 Subject: [PATCH] Added two more tests for NiSkinPartition.SetTriangles() (see niftools issue #3395584). --- test/skinpart_test.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/skinpart_test.cpp b/test/skinpart_test.cpp index 2128b05f..2ca9bd01 100644 --- a/test/skinpart_test.cpp +++ b/test/skinpart_test.cpp @@ -94,4 +94,34 @@ BOOST_AUTO_TEST_CASE(write_skinpart_test) BOOST_CHECK_EQUAL(skinpart->skinPartitionBlocks[0].numTriangles, 1); } +BOOST_AUTO_TEST_CASE(skinpart_triangles_partnum_test) +{ + // create a simple skin partition + NiSkinPartitionRef skinpart = new NiSkinPartition; + skinpart->SetNumPartitions(1); + vector<Vector3> verts; + vector<Triangle> tris; + verts.push_back(Vector3(0, 0, 0)); + verts.push_back(Vector3(0, 1, 0)); + verts.push_back(Vector3(0, 0, 1)); + tris.push_back(Triangle(0, 1, 2)); + BOOST_CHECK_THROW(skinpart->SetTriangles(5, tris), std::runtime_error); + BOOST_CHECK_NO_THROW(skinpart->SetTriangles(0, tris)); +} + +BOOST_AUTO_TEST_CASE(skinpart_triangles_numtriangles_test) +{ + // create a simple skin partition + NiSkinPartitionRef skinpart = new NiSkinPartition; + skinpart->SetNumPartitions(1); + vector<Vector3> verts; + vector<Triangle> tris; + verts.push_back(Vector3(0, 0, 0)); + verts.push_back(Vector3(0, 1, 0)); + verts.push_back(Vector3(0, 0, 1)); + tris.push_back(Triangle(0, 1, 2)); + skinpart->SetTriangles(0, tris); + BOOST_CHECK_EQUAL(skinpart->skinPartitionBlocks[0].numTriangles, 1); +} + BOOST_AUTO_TEST_SUITE_END() -- GitLab