Add test cases for validating null materials

This commit is contained in:
oO
2021-05-13 22:30:07 +09:00
parent 7095fda117
commit c34bb2f0d4
2 changed files with 95 additions and 0 deletions

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

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 125889535256e95488606b67463c18cb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: