Add test cases for validating null mesh

This commit is contained in:
oO
2021-05-25 19:15:39 +09:00
parent 800ec4b8a1
commit 5b07a4382c

View File

@@ -76,5 +76,53 @@ namespace UniGLTF
ScriptableObject.DestroyImmediate(validator);
}
}
[Test]
public void NoMeshTest()
{
var validator = ScriptableObject.CreateInstance<MeshExportValidator>();
var root = new GameObject("root");
try
{
var child = GameObject.CreatePrimitive(PrimitiveType.Cube);
child.transform.SetParent(root.transform);
// remove MeshFilter
Component.DestroyImmediate(child.GetComponent<MeshFilter>());
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<MeshExportValidator>();
var root = new GameObject("root");
try
{
var child = GameObject.CreatePrimitive(PrimitiveType.Cube);
child.transform.SetParent(root.transform);
// set null
child.GetComponent<MeshFilter>().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);
}
}
}
}