UnityGame/Library/PackageCache/com.unity.shadergraph/Tests/Editor/UnitTests/AbstractMaterialGraphTests.cs
2024-10-27 10:53:47 +03:00

86 lines
3.0 KiB
C#

using System.Linq;
using NUnit.Framework;
using UnityEngine;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph.UnitTests
{
[TestFixture]
class AbstractMaterialGraphTests
{
private class TestableMNode : AbstractMaterialNode
{ }
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
Debug.unityLogger.logHandler = new ConsoleLogHandler();
}
[Test]
public void TestCanCreateMaterialGraph()
{
GraphData graph = new GraphData();
Assert.AreEqual(0, graph.edges.Count());
Assert.AreEqual(0, graph.GetNodes<AbstractMaterialNode>().Count());
}
[Test]
public void TestCanAddMaterialNodeToMaterialGraph()
{
GraphData graph = new GraphData();
var node = new TestableMNode();
graph.AddNode(node);
Assert.AreEqual(0, graph.edges.Count());
Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
}
[Test]
public void TestCanGetMaterialNodeFromMaterialGraph()
{
GraphData graph = new GraphData();
var node = new TestableMNode();
graph.AddNode(node);
Assert.AreEqual(0, graph.edges.Count());
Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
Assert.AreEqual(node, graph.GetNodeFromId(node.objectId));
Assert.AreEqual(node, graph.GetNodeFromId<TestableMNode>(node.objectId));
}
/* [Test]
public void TestCreatePixelShaderGraphWorks()
{
var graph = new UnityEngine.MaterialGraph.MaterialGraph();
Assert.AreEqual(0, graph.GetNodes<AbstractMaterialNode>().Count());
var psn = new MetallicMasterNode();
graph.AddNode(psn);
Assert.AreEqual(0, graph.edges.Count());
Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
Assert.IsInstanceOf(typeof(MetallicMasterNode), graph.GetNodes<AbstractMaterialNode>().FirstOrDefault());
Assert.IsNotNull(graph.masterNode);
Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
}
[Test]
public void TestCanAddMultipleMasterNode()
{
var graph = new UnityEngine.MaterialGraph.MaterialGraph();
Assert.AreEqual(0, graph.GetNodes<AbstractMaterialNode>().Count());
var psn = new MetallicMasterNode();
graph.AddNode(psn);
Assert.AreEqual(0, graph.edges.Count());
Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
var psn2 = new SpecularMasterNode();
graph.AddNode(psn2);
Assert.AreEqual(0, graph.edges.Count());
Assert.AreEqual(2, graph.GetNodes<AbstractMaterialNode>().Count());
}*/
}
}