Merge pull request #980 from oocytanb/fix/add_tests_for_validating_null_mesh

メッシュが無いオブジェクトに対する MeshExportValidator のテストを追加
This commit is contained in:
ousttrue 2021-05-26 18:43:09 +09:00 committed by GitHub
commit 7382b3d900
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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);
}
}
}
}