123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522 |
- using System;
- using UnityEngine;
-
- namespace UnityEditor.ShaderGraph.UnitTests
- {
- /* [TestFixture]
- public class PropertyNodeTests
- {
- private class TestPropertyNode : PropertyNode
- {
- public const string TestPropertyName = "TestName";
-
- public override PropertyType propertyType
- {
- get { return PropertyType.Float; }
- }
-
- public override PreviewProperty GetPreviewProperty()
- {
- return new PreviewProperty()
- {
- m_Name = TestPropertyName
- };
- }
- }
-
- private UnityEngine.MaterialGraph.MaterialGraph m_Graph;
- private Vector1Node m_Vector1Node;
- private Vector2Node m_Vector2Node;
- private Vector3Node m_Vector3Node;
- private Vector4Node m_Vector4Node;
- private ColorNode m_ColorNode;
- // private Texture2DNode m_TextureNode;
- private TestPropertyNode m_PropertyNode;
-
- private const string kPropertyName = "PropertyName";
- public const string kDescription = "NewDescription";
-
- [TestFixtureSetUp]
- public void RunBeforeAnyTests()
- {
- Debug.unityLogger.logHandler = new ConsoleLogHandler();
- }
-
- [SetUp]
- public void TestSetUp()
- {
- m_Graph = new UnityEngine.MaterialGraph.MaterialGraph();
- m_Vector1Node = new Vector1Node();
- m_Vector2Node = new Vector2Node();
- m_Vector3Node = new Vector3Node();
- m_Vector4Node = new Vector4Node();
- m_ColorNode = new ColorNode();
- // m_TextureNode = new Texture2DNode();
- m_PropertyNode = new TestPropertyNode();
-
- m_Graph.AddNode(m_Vector1Node);
- m_Graph.AddNode(m_Vector2Node);
- m_Graph.AddNode(m_Vector3Node);
- m_Graph.AddNode(m_Vector4Node);
- m_Graph.AddNode(m_ColorNode);
- m_Graph.AddNode(m_TextureNode);
- m_Graph.AddNode(m_PropertyNode);
- }
-
- /* [Test]
- public void TestExposedPropertyReturnsRawName()
- {
- m_PropertyNode.exposedState = PropertyNode.ExposedState.Exposed;
- m_PropertyNode.propertyName = kPropertyName;
- Assert.AreEqual(kPropertyName + "_Uniform", m_PropertyNode.propertyName);
- }
-
- [Test]
- public void TestNonExposedPropertyReturnsGeneratedName()
- {
- var expected = string.Format("{0}_{1}_Uniform", m_PropertyNode.name, m_PropertyNode.guid.ToString().Replace("-", "_"));
- m_PropertyNode.exposedState = PropertyNode.ExposedState.NotExposed;
- m_PropertyNode.propertyName = kPropertyName;
-
- Assert.AreEqual(expected, m_PropertyNode.propertyName);
- }
-
- [Test]
- public void TestPropertyNodeDescriptionWorks()
- {
- m_PropertyNode.propertyName = kPropertyName;
- m_PropertyNode.description = kDescription;
- Assert.AreEqual(kDescription, m_PropertyNode.description);
- }
-
- [Test]
- public void TestPropertyNodeDescriptionReturnsPropertyNameWhenNoDescriptionSet()
- {
- m_PropertyNode.propertyName = kPropertyName;
- m_PropertyNode.description = string.Empty;
- Assert.AreEqual(kPropertyName, m_PropertyNode.description);
- }
-
- [Test]
- public void TestPropertyNodeReturnsPreviewProperty()
- {
- var props = new List<PreviewProperty>();
- m_PropertyNode.CollectPreviewMaterialProperties(props);
- Assert.AreEqual(props.Count, 1);
- Assert.AreEqual(TestPropertyNode.TestPropertyName, props[0].m_Name);
- }
-
- [Test]
- public void TestDuplicatedPropertyNameGeneratesErrorWhenExposed()
- {
- const string failName = "SameName";
-
- m_Vector1Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector1Node.propertyName = failName;
- m_Vector2Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector2Node.propertyName = failName;
-
- m_Vector1Node.ValidateNode();
- m_Vector2Node.ValidateNode();
- Assert.IsTrue(m_Vector1Node.hasError);
- Assert.IsTrue(m_Vector2Node.hasError);
- }
-
- [Test]
- public void TestDuplicatedPropertyNameGeneratesNoErrorWhenNotExposed()
- {
- const string failName = "SameName";
-
- m_Vector1Node.exposedState = PropertyNode.ExposedState.NotExposed;
- m_Vector1Node.propertyName = failName;
- m_Vector2Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector2Node.propertyName = failName;
-
- m_Vector1Node.ValidateNode();
- m_Vector2Node.ValidateNode();
- Assert.IsFalse(m_Vector1Node.hasError);
- Assert.IsFalse(m_Vector2Node.hasError);
- }*
-
- [Test]
- public void TestPropertyExposedOnSubgraphReturnsFalse()
- {
- var subGraph = new SubGraph();
- var subNode = new TestPropertyNode();
- subNode.exposedState = PropertyNode.ExposedState.Exposed;
- subGraph.AddNode(subNode);
- Assert.AreEqual(PropertyNode.ExposedState.NotExposed, subNode.exposedState);
-
- m_PropertyNode.exposedState = PropertyNode.ExposedState.Exposed;
- Assert.AreEqual(PropertyNode.ExposedState.Exposed, m_PropertyNode.exposedState);
- }
-
- [Test]
- public void TestVector1NodeTypeIsCorrect()
- {
- Assert.AreEqual(PropertyType.Float, m_Vector1Node.propertyType);
- }
-
- [Test]
- public void TestVector1NodeReturnsCorrectValue()
- {
- m_Vector1Node.value = 0.6f;
- Assert.AreEqual(0.6f, m_Vector1Node.value);
- }
-
- [Test]
- public void TestVector1NodeReturnsPreviewProperty()
- {
- var props = new List<PreviewProperty>();
- m_Vector1Node.value = 0.6f;
- m_Vector1Node.CollectPreviewMaterialProperties(props);
- Assert.AreEqual(props.Count, 1);
- Assert.AreEqual(m_Vector1Node.propertyName, props[0].m_Name);
- Assert.AreEqual(m_Vector1Node.propertyType, props[0].m_PropType);
- Assert.AreEqual(0.6f, props[0].m_Float);
- }
-
- [Test]
- public void TestVector1NodeGeneratesCorrectPropertyBlock()
- {
- m_Vector1Node.value = 0.6f;
- m_Vector1Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new PropertyGenerator();
- m_Vector1Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector1Node.propertyName
- + "(\""
- + m_Vector1Node.description
- + "\", Float) = "
- + m_Vector1Node.value
- + Environment.NewLine;
-
- m_Vector1Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector1Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestVector1NodeGeneratesCorrectPropertyUsages()
- {
- m_Vector1Node.value = 0.6f;
- m_Vector1Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new ShaderGenerator();
- m_Vector1Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector1Node.precision
- + " "
- + m_Vector1Node.propertyName
- + ";"
- + Environment.NewLine;
-
- m_Vector1Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector1Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestVector2NodeTypeIsCorrect()
- {
- Assert.AreEqual(PropertyType.Vector2, m_Vector2Node.propertyType);
- }
-
- [Test]
- public void TestVector2NodeReturnsCorrectValue()
- {
- var value = new Vector2(0.6f, 0.7f);
- m_Vector2Node.value = value;
- Assert.AreEqual(value, m_Vector2Node.value);
- }
-
- [Test]
- public void TestVector2NodeReturnsPreviewProperty()
- {
- var value = new Vector2(0.6f, 0.7f);
- var props = new List<PreviewProperty>();
- m_Vector2Node.value = value;
- m_Vector2Node.CollectPreviewMaterialProperties(props);
- Assert.AreEqual(props.Count, 1);
- Assert.AreEqual(m_Vector2Node.propertyName, props[0].m_Name);
- Assert.AreEqual(m_Vector2Node.propertyType, props[0].m_PropType);
- Assert.AreEqual(value, m_Vector2Node.value);
- }
-
- [Test]
- public void TestVector2NodeGeneratesCorrectPropertyBlock()
- {
- var value = new Vector2(0.6f, 0.7f);
- m_Vector2Node.value = value;
- m_Vector2Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new PropertyGenerator();
- m_Vector2Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector2Node.propertyName
- + "(\""
- + m_Vector2Node.description
- + "\", Vector) = ("
- + m_Vector2Node.value.x
- + ","
- + m_Vector2Node.value.y
- + ",0,0)"
- + Environment.NewLine;
-
- m_Vector2Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector2Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestVector2NodeGeneratesCorrectPropertyUsages()
- {
- var value = new Vector2(0.6f, 0.7f);
- m_Vector2Node.value = value;
- m_Vector2Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new ShaderGenerator();
- m_Vector2Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector2Node.precision
- + "2 "
- + m_Vector2Node.propertyName
- + ";"
- + Environment.NewLine;
-
- m_Vector2Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector2Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestVector3NodeTypeIsCorrect()
- {
- Assert.AreEqual(PropertyType.Vector3, m_Vector3Node.propertyType);
- }
-
- [Test]
- public void TestVector3NodeReturnsCorrectValue()
- {
- var value = new Vector3(0.6f, 0.7f, 0.4f);
- m_Vector3Node.value = value;
- Assert.AreEqual(value, m_Vector3Node.value);
- }
-
- [Test]
- public void TestVector3NodeReturnsPreviewProperty()
- {
- var value = new Vector3(0.6f, 0.7f, 0.4f);
- var props = new List<PreviewProperty>();
- m_Vector3Node.value = value;
- m_Vector3Node.CollectPreviewMaterialProperties(props);
- Assert.AreEqual(props.Count, 1);
- Assert.AreEqual(m_Vector3Node.propertyName, props[0].m_Name);
- Assert.AreEqual(m_Vector3Node.propertyType, props[0].m_PropType);
- Assert.AreEqual(value, m_Vector3Node.value);
- }
-
- [Test]
- public void TestVector3NodeGeneratesCorrectPropertyBlock()
- {
- var value = new Vector3(0.6f, 0.7f, 0.4f);
- m_Vector3Node.value = value;
- m_Vector3Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new PropertyGenerator();
- m_Vector3Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector3Node.propertyName
- + "(\""
- + m_Vector3Node.description
- + "\", Vector) = ("
- + m_Vector3Node.value.x
- + ","
- + m_Vector3Node.value.y
- + ","
- + m_Vector3Node.value.z
- + ",0)"
- + Environment.NewLine;
-
- m_Vector3Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector3Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestVector3NodeGeneratesCorrectPropertyUsages()
- {
- var value = new Vector3(0.6f, 0.7f, 0.4f);
- m_Vector3Node.value = value;
- m_Vector3Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new ShaderGenerator();
- m_Vector3Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector3Node.precision
- + "3 "
- + m_Vector3Node.propertyName
- + ";"
- + Environment.NewLine;
-
- m_Vector3Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector3Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestVector4NodeTypeIsCorrect()
- {
- Assert.AreEqual(PropertyType.Vector4, m_Vector4Node.propertyType);
- }
-
- [Test]
- public void TestVector4NodeReturnsCorrectValue()
- {
- var value = new Vector4(0.6f, 0.7f, 0.4f, 0.3f);
- m_Vector4Node.value = value;
- Assert.AreEqual(value, m_Vector4Node.value);
- }
-
- [Test]
- public void TestVector4NodeReturnsPreviewProperty()
- {
- var value = new Vector4(0.6f, 0.7f, 0.4f, 0.3f);
- var props = new List<PreviewProperty>();
- m_Vector4Node.value = value;
- m_Vector4Node.CollectPreviewMaterialProperties(props);
- Assert.AreEqual(props.Count, 1);
- Assert.AreEqual(m_Vector4Node.propertyName, props[0].m_Name);
- Assert.AreEqual(m_Vector4Node.propertyType, props[0].m_PropType);
- Assert.AreEqual(value, m_Vector4Node.value);
- }
-
- [Test]
- public void TestVector4NodeGeneratesCorrectPropertyBlock()
- {
- var value = new Vector4(0.6f, 0.7f, 0.4f, 0.3f);
- m_Vector4Node.value = value;
- m_Vector4Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new PropertyGenerator();
- m_Vector4Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector4Node.propertyName
- + "(\""
- + m_Vector4Node.description
- + "\", Vector) = ("
- + m_Vector4Node.value.x
- + ","
- + m_Vector4Node.value.y
- + ","
- + m_Vector4Node.value.z
- + ","
- + m_Vector4Node.value.w
- + ")"
- + Environment.NewLine;
-
- m_Vector4Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector4Node.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestVector4NodeGeneratesCorrectPropertyUsages()
- {
- var value = new Vector4(0.6f, 0.7f, 0.4f, 0.3f);
- m_Vector4Node.value = value;
- m_Vector4Node.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new ShaderGenerator();
- m_Vector4Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_Vector4Node.precision
- + "4 "
- + m_Vector4Node.propertyName
- + ";"
- + Environment.NewLine;
-
- m_Vector4Node.exposedState = PropertyNode.ExposedState.Exposed;
- m_Vector4Node.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestColorNodeTypeIsCorrect()
- {
- Assert.AreEqual(PropertyType.Color, m_ColorNode.propertyType);
- }
-
- [Test]
- public void TestColorNodeReturnsCorrectValue()
- {
- var value = new Color(0.6f, 0.7f, 0.4f, 0.3f);
- m_ColorNode.color = value;
- Assert.AreEqual(value, m_ColorNode.color);
- }
-
- [Test]
- public void TestColorNodeReturnsPreviewProperty()
- {
- var value = new Color(0.6f, 0.7f, 0.4f, 0.3f);
- var props = new List<PreviewProperty>();
- m_ColorNode.color = value;
- m_ColorNode.CollectPreviewMaterialProperties(props);
- Assert.AreEqual(props.Count, 1);
- Assert.AreEqual(m_ColorNode.propertyName, props[0].m_Name);
- Assert.AreEqual(m_ColorNode.propertyType, props[0].m_PropType);
- Assert.AreEqual(value, m_ColorNode.color);
- }
-
- [Test]
- public void TestColorNodeGeneratesCorrectPropertyBlock()
- {
- var value = new Color(0.6f, 0.7f, 0.4f, 0.3f);
- m_ColorNode.color = value;
- m_ColorNode.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new PropertyGenerator();
- m_ColorNode.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_ColorNode.propertyName
- + "(\""
- + m_ColorNode.description
- + "\", Color) = ("
- + m_ColorNode.color.r
- + ","
- + m_ColorNode.color.g
- + ","
- + m_ColorNode.color.b
- + ","
- + m_ColorNode.color.a
- + ")"
- + Environment.NewLine;
-
- m_ColorNode.exposedState = PropertyNode.ExposedState.Exposed;
- m_ColorNode.GeneratePropertyBlock(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
-
- [Test]
- public void TestColorNodeGeneratesCorrectPropertyUsages()
- {
- var value = new Color(0.6f, 0.7f, 0.4f, 0.3f);
- m_ColorNode.color = value;
- m_ColorNode.exposedState = PropertyNode.ExposedState.NotExposed;
- var generator = new ShaderGenerator();
- m_ColorNode.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(string.Empty, generator.GetShaderString(0));
-
- var expected = m_ColorNode.precision
- + "4 "
- + m_ColorNode.propertyName
- + ";"
- + Environment.NewLine;
-
- m_ColorNode.exposedState = PropertyNode.ExposedState.Exposed;
- m_ColorNode.GeneratePropertyUsages(generator, GenerationMode.ForReals);
- Assert.AreEqual(expected, generator.GetShaderString(0));
- }
- }*/
- }
|