AbstractMaterialGraphTests.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System.Linq;
  2. using NUnit.Framework;
  3. using UnityEngine;
  4. using UnityEditor.Graphing;
  5. namespace UnityEditor.ShaderGraph.UnitTests
  6. {
  7. [TestFixture]
  8. class AbstractMaterialGraphTests
  9. {
  10. private class TestableMNode : AbstractMaterialNode
  11. {}
  12. [OneTimeSetUp]
  13. public void RunBeforeAnyTests()
  14. {
  15. Debug.unityLogger.logHandler = new ConsoleLogHandler();
  16. }
  17. [Test]
  18. public void TestCanCreateMaterialGraph()
  19. {
  20. GraphData graph = new GraphData();
  21. Assert.AreEqual(0, graph.edges.Count());
  22. Assert.AreEqual(0, graph.GetNodes<AbstractMaterialNode>().Count());
  23. }
  24. [Test]
  25. public void TestCanAddMaterialNodeToMaterialGraph()
  26. {
  27. GraphData graph = new GraphData();
  28. var node = new TestableMNode();
  29. graph.AddNode(node);
  30. Assert.AreEqual(0, graph.edges.Count());
  31. Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
  32. }
  33. [Test]
  34. public void TestCanGetMaterialNodeFromMaterialGraph()
  35. {
  36. GraphData graph = new GraphData();
  37. var node = new TestableMNode();
  38. graph.AddNode(node);
  39. Assert.AreEqual(0, graph.edges.Count());
  40. Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
  41. Assert.AreEqual(node, graph.GetNodeFromGuid(node.guid));
  42. Assert.AreEqual(node, graph.GetNodeFromGuid<TestableMNode>(node.guid));
  43. }
  44. /* [Test]
  45. public void TestCreatePixelShaderGraphWorks()
  46. {
  47. var graph = new UnityEngine.MaterialGraph.MaterialGraph();
  48. Assert.AreEqual(0, graph.GetNodes<AbstractMaterialNode>().Count());
  49. var psn = new MetallicMasterNode();
  50. graph.AddNode(psn);
  51. Assert.AreEqual(0, graph.edges.Count());
  52. Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
  53. Assert.IsInstanceOf(typeof(MetallicMasterNode), graph.GetNodes<AbstractMaterialNode>().FirstOrDefault());
  54. Assert.IsNotNull(graph.masterNode);
  55. Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
  56. }
  57. [Test]
  58. public void TestCanAddMultipleMasterNode()
  59. {
  60. var graph = new UnityEngine.MaterialGraph.MaterialGraph();
  61. Assert.AreEqual(0, graph.GetNodes<AbstractMaterialNode>().Count());
  62. var psn = new MetallicMasterNode();
  63. graph.AddNode(psn);
  64. Assert.AreEqual(0, graph.edges.Count());
  65. Assert.AreEqual(1, graph.GetNodes<AbstractMaterialNode>().Count());
  66. var psn2 = new SpecularMasterNode();
  67. graph.AddNode(psn2);
  68. Assert.AreEqual(0, graph.edges.Count());
  69. Assert.AreEqual(2, graph.GetNodes<AbstractMaterialNode>().Count());
  70. }*/
  71. }
  72. }