您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
116 行
5.7 KiB
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);
|
|
}
|
|
}
|
|
}
|