Răsfoiți Sursa

Add unit tests for X3D models which were broken at 5 Oct 2020 commit 3b9d4cf (#5828)

* Add nascent tests against models broken by 5 Oct 2020 commit 3b9d4cf

* Temporarily disable chevy unit test (CI failing)

* Fix unit test assert value

* Swap actual/expected values and add correct value NE asserts

* Fix correct mesh count (indices 0-99 = 100 meshes)

---------

Co-authored-by: Steve M <[email protected]>
Steve M 10 luni în urmă
părinte
comite
e4ef89182d
1 a modificat fișierele cu 22 adăugiri și 0 ștergeri
  1. 22 0
      test/unit/utX3DImportExport.cpp

+ 22 - 0
test/unit/utX3DImportExport.cpp

@@ -73,3 +73,25 @@ TEST_F(utX3DImportExport, importX3DIndexedLineSet) {
         ASSERT_EQ(scene->mMeshes[0]->mFaces[i].mNumIndices, 2u);
     }
 }
+
+TEST_F(utX3DImportExport, importX3DComputerKeyboard) {
+    Assimp::Importer importer;
+    const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X3D/ComputerKeyboard.x3d", aiProcess_ValidateDataStructure);
+    ASSERT_NE(nullptr, scene);
+    // TODO: CHANGE INCORRECT VALUE WHEN IMPORTER FIXED
+    //   As noted in assimp issue 4992, X3D importer was severely broken with 5 Oct 2020 commit 3b9d4cf.
+    //   ComputerKeyboard.x3d should have 100 meshes but broken importer only has 4
+    ASSERT_EQ(4u, scene->mNumMeshes);  // Incorrect value from currently broken importer
+    ASSERT_NE(100u, scene->mNumMeshes); // Correct value, to be restored when importer fixed
+}
+
+TEST_F(utX3DImportExport, importX3DChevyTahoe) {
+    Assimp::Importer importer;
+    const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/X3D/Chevy/ChevyTahoe.x3d", aiProcess_ValidateDataStructure);
+    ASSERT_NE(nullptr, scene);
+    // TODO: CHANGE INCORRECT VALUE WHEN IMPORTER FIXED
+    //   As noted in assimp issue 4992, X3D importer was severely broken with 5 Oct 2020 commit 3b9d4cf.
+    //   ChevyTahoe.x3d should have 20 meshes but broken importer only has 19
+    ASSERT_EQ(19u, scene->mNumMeshes); // Incorrect value from currently broken importer
+    ASSERT_NE(20u, scene->mNumMeshes); // Correct value, to be restored when importer fixed
+}