예제 #1
0
        public DoubleLinkedListSerializerTests()
        {
            linkedListSerializer = new DoubleLinkedListSerializer();

            linkedList                = DoubleLinkedListFactory.GetDoubleLinkedList(count: 3);
            linkedList.Head.Rand      = linkedList.Tail;
            linkedList.Head.Next.Rand = linkedList.Head;
            linkedList.Tail.Rand      = linkedList.Head.Next;
        }
예제 #2
0
        public void DoubleLinkedList()
        {
            using (var memoryStream = new MemoryStream())
            {
                var linkedList = DoubleLinkedListFactory.GetDoubleLinkedList(count: 10);
                linkedListSerializer.Serialize(linkedList, memoryStream, leaveOpen: true);

                memoryStream.Position = 0;
                var deserializedLinkedList = linkedListSerializer.Deserialize(memoryStream, leaveOpen: true);

                linkedList.Should().Equal(deserializedLinkedList, new DoubleLinkEqualityComparer().Equals);
            }
        }