public void When_WriteAndRead_TempNodeGraphWithEdgeNodeLists_Expect_SameNodeLists(TempNodeGraphWithEdgeNodeLists originalGraph)
        {
            string filePath = ArgParser.GetPath(Path.Combine(OSString, "Output_Files", "xmlOutput.xml"));

            XMLCreator.writeXML(originalGraph, filePath);
            TempNodeGraphWithEdgeNodeLists restoredGraph = XMLCreator.readXML <TempNodeGraphWithEdgeNodeLists>(filePath);

            Assert.AreEqual(originalGraph.nodeList, restoredGraph.nodeList);
        }
            public override bool Equals(Object obj)
            {
                //Check for null and compare run-time types.
                if ((obj == null) || !this.GetType().Equals(obj.GetType()))
                {
                    return(false);
                }
                else
                {
                    TempNodeGraphWithEdgeNodeLists other = (TempNodeGraphWithEdgeNodeLists)obj;

                    return(System.Linq.Enumerable.SequenceEqual(edgeList, other.edgeList) &&
                           System.Linq.Enumerable.SequenceEqual(nodeList, other.nodeList));
                }
            }
        public void When_WriteAndRead_TempNodeGraphWithEdgeNodeLists_Expect_DifferentEdgeLists(TempNodeGraphWithEdgeNodeLists originalGraph)
        {
            string filePath = ArgParser.GetPath(Path.Combine(OSString, "Output_Files", "xmlOutput.xml"));

            XMLCreator.writeXML(originalGraph, filePath);

            originalGraph.edgeList = new Edge[]
            {
                new Edge(123123, 1124234),
                new Edge(23412312, 23451235)
            };

            TempNodeGraphWithEdgeNodeLists restoredGraph = XMLCreator.readXML <TempNodeGraphWithEdgeNodeLists>(filePath);

            Assert.AreNotEqual(originalGraph.edgeList, restoredGraph.edgeList);
        }