您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

116 行
5.7 KiB

using NUnit.Framework;
using UnityEngine;
using UnityEngine.Graphing;
using UnityEngine.MaterialGraph;
namespace UnityEditor.MaterialGraph.UnitTests
{
[TestFixture]
public class PropertyChunkTests
{
class TestPropertyChunch : PropertyChunk
{
public TestPropertyChunch(string propertyName, string propertyDescription, HideState hideState)
: base(propertyName, propertyDescription, hideState)
{}
public override string GetPropertyString()
{
return propertyName;
}
}
[TestFixtureSetUp]
public void RunBeforeAnyTests()
{
Debug.logger.logHandler = new ConsoleLogHandler();
}
[SetUp]
public void TestSetUp()
{
}
private const string kPropertyName = "ThePropertyName";
private const string kPropertyDescription = "ThePropertyDescription";
[Test]
public void TestSimplePropertyChunkIsConstructedProperly()
{
var chunk = new TestPropertyChunch(kPropertyName, kPropertyDescription, PropertyChunk.HideState.Visible);
Assert.AreEqual(kPropertyName, chunk.propertyName);
Assert.AreEqual(kPropertyDescription, chunk.propertyDescription);
Assert.AreEqual(kPropertyName, chunk.GetPropertyString());
Assert.AreEqual(PropertyChunk.HideState.Visible, chunk.hideState);
}
[Test]
public void TestColorChunkReturnsValidValues()
{
var expectedPropertyString = "ThePropertyName(\"ThePropertyDescription\", Color) = (1,0,0,1)";
var chunk = new ColorPropertyChunk(kPropertyName, kPropertyDescription, Color.red, PropertyChunk.HideState.Visible);
Assert.AreEqual(kPropertyName, chunk.propertyName);
Assert.AreEqual(kPropertyDescription, chunk.propertyDescription);
Assert.AreEqual(expectedPropertyString, chunk.GetPropertyString());
Assert.AreEqual(Color.red, chunk.defaultColor);
Assert.AreEqual(PropertyChunk.HideState.Visible, chunk.hideState);
}
[Test]
public void TestFloatChunkReturnsValidValues()
{
var expectedPropertyString = "ThePropertyName(\"ThePropertyDescription\", Float) = 0.5";
var chunk = new FloatPropertyChunk(kPropertyName, kPropertyDescription, 0.5f, PropertyChunk.HideState.Visible);
Assert.AreEqual(kPropertyName, chunk.propertyName);
Assert.AreEqual(kPropertyDescription, chunk.propertyDescription);
Assert.AreEqual(expectedPropertyString, chunk.GetPropertyString());
Assert.AreEqual(0.5f, chunk.defaultValue);
Assert.AreEqual(PropertyChunk.HideState.Visible, chunk.hideState);
}
[Test]
public void TestVectorChunkReturnsValidValues()
{
var vector = new Vector4(0.2f, 0.4f, 0.66f, 1.0f);
var expectedPropertyString = "ThePropertyName(\"ThePropertyDescription\", Vector) = (0.2,0.4,0.66,1)";
var chunk = new VectorPropertyChunk(kPropertyName, kPropertyDescription, vector, PropertyChunk.HideState.Visible);
Assert.AreEqual(kPropertyName, chunk.propertyName);
Assert.AreEqual(kPropertyDescription, chunk.propertyDescription);
Assert.AreEqual(expectedPropertyString, chunk.GetPropertyString());
Assert.AreEqual(vector, chunk.defaultValue);
Assert.AreEqual(PropertyChunk.HideState.Visible, chunk.hideState);
}
[Test]
public void TestTextureChunkReturnsValidValues()
{
var expectedPropertyString = "ThePropertyName(\"ThePropertyDescription\", 2D) = \"bump\" {}";
var chunk = new TexturePropertyChunk(kPropertyName, kPropertyDescription, null, TextureType.Bump, PropertyChunk.HideState.Visible, TexturePropertyChunk.ModifiableState.Modifiable);
Assert.AreEqual(kPropertyName, chunk.propertyName);
Assert.AreEqual(kPropertyDescription, chunk.propertyDescription);
Assert.AreEqual(expectedPropertyString, chunk.GetPropertyString());
Assert.AreEqual(null, chunk.defaultTexture);
Assert.AreEqual(PropertyChunk.HideState.Visible, chunk.hideState);
}
[Test]
public void TestTexturePropertyChunkGeneratesValidPropertyStringVisibleNotModifiable()
{
var expectedPropertyString = "[NonModifiableTextureData] ThePropertyName(\"ThePropertyDescription\", 2D) = \"gray\" {}";
var chunk = new TexturePropertyChunk(kPropertyName, kPropertyDescription, null, TextureType.Gray, PropertyChunk.HideState.Visible, TexturePropertyChunk.ModifiableState.NonModifiable);
Assert.AreEqual(expectedPropertyString, chunk.GetPropertyString());
Assert.AreEqual(TexturePropertyChunk.ModifiableState.NonModifiable, chunk.modifiableState);
Assert.AreEqual(PropertyChunk.HideState.Visible, chunk.hideState);
}
[Test]
public void TestTexturePropertyChunkGeneratesValidPropertyStringHiddenNotModifiable()
{
var expectedPropertyString = "[HideInInspector] [NonModifiableTextureData] ThePropertyName(\"ThePropertyDescription\", 2D) = \"white\" {}";
var chunk = new TexturePropertyChunk(kPropertyName, kPropertyDescription, null, TextureType.White, PropertyChunk.HideState.Hidden, TexturePropertyChunk.ModifiableState.NonModifiable);
Assert.AreEqual(expectedPropertyString, chunk.GetPropertyString());
Assert.AreEqual(TexturePropertyChunk.ModifiableState.NonModifiable, chunk.modifiableState);
Assert.AreEqual(PropertyChunk.HideState.Hidden, chunk.hideState);
}
}
}