From 5b07a4382c01774bf06d13792c347be243621501 Mon Sep 17 00:00:00 2001 From: oO <47592289+oocytanb@users.noreply.github.com> Date: Tue, 25 May 2021 19:15:39 +0900 Subject: [PATCH] Add test cases for validating null mesh --- .../Tests/UniGLTF/MeshExportValidatorTests.cs | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Assets/UniGLTF/Tests/UniGLTF/MeshExportValidatorTests.cs b/Assets/UniGLTF/Tests/UniGLTF/MeshExportValidatorTests.cs index a2d8058fa..803437b4d 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/MeshExportValidatorTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/MeshExportValidatorTests.cs @@ -76,5 +76,53 @@ namespace UniGLTF ScriptableObject.DestroyImmediate(validator); } } + + [Test] + public void NoMeshTest() + { + var validator = ScriptableObject.CreateInstance(); + var root = new GameObject("root"); + + try + { + var child = GameObject.CreatePrimitive(PrimitiveType.Cube); + child.transform.SetParent(root.transform); + // remove MeshFilter + Component.DestroyImmediate(child.GetComponent()); + + validator.SetRoot(root, MeshExportSettings.Default); + var vs = validator.Validate(root); + Assert.True(vs.All(x => x.CanExport)); + } + finally + { + GameObject.DestroyImmediate(root); + ScriptableObject.DestroyImmediate(validator); + } + } + + [Test] + public void NullMeshTest() + { + var validator = ScriptableObject.CreateInstance(); + var root = new GameObject("root"); + + try + { + var child = GameObject.CreatePrimitive(PrimitiveType.Cube); + child.transform.SetParent(root.transform); + // set null + child.GetComponent().sharedMesh = null; + + validator.SetRoot(root, MeshExportSettings.Default); + var vs = validator.Validate(root); + Assert.True(vs.All(x => x.CanExport)); + } + finally + { + GameObject.DestroyImmediate(root); + ScriptableObject.DestroyImmediate(validator); + } + } } }