mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-08-24 19:45:37 -05:00
Add test cases for validating null materials
This commit is contained in:
84
Assets/UniGLTF/Tests/UniGLTF/MeshExportValidatorTests.cs
Normal file
84
Assets/UniGLTF/Tests/UniGLTF/MeshExportValidatorTests.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using NUnit.Framework;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UniGLTF
|
||||
{
|
||||
public class MeshExportValidatorTests
|
||||
{
|
||||
[Test]
|
||||
public void NoMaterialTest()
|
||||
{
|
||||
var validator = ScriptableObject.CreateInstance<MeshExportValidator>();
|
||||
var root = new GameObject("root");
|
||||
|
||||
try
|
||||
{
|
||||
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
|
||||
cube.transform.SetParent(root.transform);
|
||||
|
||||
var renderer = cube.GetComponent<Renderer>();
|
||||
renderer.sharedMaterials = new Material[0];
|
||||
|
||||
validator.SetRoot(root, MeshExportSettings.Default);
|
||||
var vs = validator.Validate(root);
|
||||
Assert.False(vs.All(x => x.CanExport));
|
||||
}
|
||||
finally
|
||||
{
|
||||
GameObject.DestroyImmediate(root);
|
||||
ScriptableObject.DestroyImmediate(validator);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NullMaterialTest()
|
||||
{
|
||||
var validator = ScriptableObject.CreateInstance<MeshExportValidator>();
|
||||
var root = new GameObject("root");
|
||||
|
||||
try
|
||||
{
|
||||
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
|
||||
cube.transform.SetParent(root.transform);
|
||||
|
||||
var renderer = cube.GetComponent<Renderer>();
|
||||
renderer.sharedMaterials = new Material[] { null };
|
||||
|
||||
validator.SetRoot(root, MeshExportSettings.Default);
|
||||
var vs = validator.Validate(root);
|
||||
Assert.False(vs.All(x => x.CanExport));
|
||||
}
|
||||
finally
|
||||
{
|
||||
GameObject.DestroyImmediate(root);
|
||||
ScriptableObject.DestroyImmediate(validator);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NullMaterialsTest()
|
||||
{
|
||||
var validator = ScriptableObject.CreateInstance<MeshExportValidator>();
|
||||
var root = new GameObject("root");
|
||||
|
||||
try
|
||||
{
|
||||
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
|
||||
cube.transform.SetParent(root.transform);
|
||||
|
||||
var renderer = cube.GetComponent<Renderer>();
|
||||
renderer.sharedMaterials = new Material[] { null, null };
|
||||
|
||||
validator.SetRoot(root, MeshExportSettings.Default);
|
||||
var vs = validator.Validate(root);
|
||||
Assert.False(vs.All(x => x.CanExport));
|
||||
}
|
||||
finally
|
||||
{
|
||||
GameObject.DestroyImmediate(root);
|
||||
ScriptableObject.DestroyImmediate(validator);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 125889535256e95488606b67463c18cb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user