public void TestCanCreateMaterialGraph()
        {
            TestableMGraph graph = new TestableMGraph();

            Assert.AreEqual(0, graph.edges.Count());
            Assert.AreEqual(0, graph.GetNodes <AbstractMaterialNode>().Count());
        }
		public void TestCanAddMaterialNodeToMaterialGraph()
		{
			TestableMGraph graph = new TestableMGraph();

			var node = new TestableMNode();
			graph.AddNode(node);
			Assert.AreEqual(0, graph.GetEdges().Count);
			Assert.AreEqual(1, graph.GetNodes<AbstractNode>().Count());
		}
		public void TestCanGetMaterialNodeFromMaterialGraph()
		{
			TestableMGraph graph = new TestableMGraph();

			var node = new TestableMNode();
			graph.AddNode(node);
			Assert.AreEqual(0, graph.GetEdges().Count);
			Assert.AreEqual(1, graph.GetNodes<AbstractNode>().Count());

			Assert.AreEqual(node, graph.GetNodeFromGuid(node.guid));
			Assert.AreEqual(node, graph.GetNodeFromGuid<TestableMNode>(node.guid));
		}