static void Main(string[] args) { ListNode nodet18 = new ListNode(); ListNode nodet23 = new ListNode(); ListNode nodet34 = new ListNode(); ListNode nodet72 = new ListNode(); ListNode nodet100 = new ListNode(); nodet18.Data = "t-18"; nodet18.Next = nodet23; nodet18.Rand = nodet72; nodet23.Data = "t-23"; nodet23.Next = nodet34; nodet23.Prev = nodet18; nodet23.Rand = null; nodet34.Data = "t-34"; nodet34.Prev = nodet23; nodet34.Next = nodet72; nodet34.Rand = nodet18; nodet72.Data = "t-72"; nodet72.Prev = nodet34; nodet72.Next = null; nodet72.Rand = nodet18; nodet100.Data = "t-100"; nodet100.Prev = nodet34; nodet100.Rand = nodet23; nodet100.Next = null; ListRand panzerList = new ListRand(); panzerList.Head = nodet18; panzerList.Tail = nodet100; FileStream fs = File.Create("PanzerList.txt"); panzerList.Serialize(fs); fs.Close(); fs = File.Open("PanzerList.txt", FileMode.Open); ListRand panzerList2 = new ListRand(); panzerList2.Deserialize(fs); fs.Close(); fs = File.Create("PanzerList2.txt"); panzerList2.Serialize(fs); fs.Close(); }
public void Deserialize() { var deserializedList = new ListRand.ListRand(); using (var fileStream = new FileStream(FileName, FileMode.Open)) { deserializedList.Deserialize(fileStream); } Assert.AreEqual(_listToSerialize.Count, deserializedList.Count); Assert.AreEqual(_listToSerialize.Head.Data, deserializedList.Head.Data); Assert.AreEqual(_listToSerialize.Tail.Data, deserializedList.Tail.Data); var serializedCurrentNode = _listToSerialize.Head; var deserializedCurrentNode = _listToSerialize.Head; for (var i = 0; i < deserializedList.Count; i++) { Assert.AreEqual(serializedCurrentNode.Data, deserializedCurrentNode.Data); if (serializedCurrentNode.Next != null) { Assert.AreEqual(serializedCurrentNode.Next.Data, deserializedCurrentNode.Next.Data); } if (serializedCurrentNode.Prev != null) { Assert.AreEqual(serializedCurrentNode.Prev.Data, deserializedCurrentNode.Prev.Data); } if (serializedCurrentNode.Rand != null) { Assert.AreEqual(serializedCurrentNode.Rand.Data, deserializedCurrentNode.Rand.Data); } serializedCurrentNode = serializedCurrentNode.Next; deserializedCurrentNode = deserializedCurrentNode.Next; } }