Пример #1
0
        public void ManualDeserializationWorks_NullableEnabledContext()
        {
            NullableEnabledContext original            = CloneNoBufferTests.GetNullableEnabledContext();
            LazinatorMemory        serializedBytes     = GetLazinatorMemoryCopy(original);
            NullableEnabledContext copy                = new NullableEnabledContext(serializedBytes);
            LazinatorMemory        serializedBytesCopy = GetLazinatorMemoryCopy(original);

            serializedBytes.Matches(serializedBytesCopy.InitialReadOnlyMemory.Span).Should().BeTrue();
        }
Пример #2
0
        public void SplittableEntitiesWork_SmallestTree()
        {
            BinaryTree = new LazinatorBinaryTree <WDouble>();
            BinaryTree.Add(0);
            BinaryTree.Add(1);
            LazinatorMemory singleBufferResult   = BinaryTree.SerializeLazinator(new LazinatorSerializationOptions(IncludeChildrenMode.IncludeAllChildren, false, false, false));
            LazinatorMemory multipleBufferResult = BinaryTree.SerializeLazinator(new LazinatorSerializationOptions(IncludeChildrenMode.IncludeAllChildren, false, false, false, 1));

            multipleBufferResult.MultipleMemoryChunks.Count().Should().BeGreaterThan(0);
            LazinatorMemory multipleConsolidated = new LazinatorMemory(multipleBufferResult.GetConsolidatedMemory());
            string          mString = multipleConsolidated.ToString();
            string          sString = singleBufferResult.ToString();

            mString.Should().Be(sString);
            multipleConsolidated.Matches(singleBufferResult.InitialReadOnlyMemory.Span).Should().BeTrue();
        }
Пример #3
0
        public void SplittableEntitiesWork_SingleSplit()
        {
            var node = new LazinatorBinaryTreeNode <WByte>()
            {
                Data = 1
            };

            // node.LeftNode = new LazinatorBinaryTreeNode<WByte>() { Data = 0 };
            node.RightNode = new LazinatorBinaryTreeNode <WByte>()
            {
                Data = 2
            };
            LazinatorMemory singleBufferResult   = node.SerializeLazinator(new LazinatorSerializationOptions(IncludeChildrenMode.IncludeAllChildren, false, false, false));
            LazinatorMemory multipleBufferResult = node.SerializeLazinator(new LazinatorSerializationOptions(IncludeChildrenMode.IncludeAllChildren, false, false, false, 1));

            multipleBufferResult.MultipleMemoryChunks.Count().Should().BeGreaterThan(0);
            LazinatorMemory multipleConsolidated = new LazinatorMemory(multipleBufferResult.GetConsolidatedMemory());
            string          mString = multipleConsolidated.ToString();
            string          sString = singleBufferResult.ToString();

            mString.Should().Be(sString);
            multipleConsolidated.Matches(singleBufferResult.InitialReadOnlyMemory.Span).Should().BeTrue();
        }
Пример #4
0
        public void SplittableEntitiesWork()
        {
            Example         e = GetTypicalExample();
            LazinatorMemory singleBufferResult   = e.SerializeLazinator(new LazinatorSerializationOptions(IncludeChildrenMode.IncludeAllChildren, false, false, false));
            LazinatorMemory multipleBufferResult = e.SerializeLazinator(new LazinatorSerializationOptions(IncludeChildrenMode.IncludeAllChildren, false, false, false, 10));

            multipleBufferResult.MultipleMemoryChunks.Count().Should().BeGreaterThan(0);
            LazinatorMemory consolidated = new LazinatorMemory(multipleBufferResult.GetConsolidatedMemory());

            consolidated.Matches(singleBufferResult.InitialReadOnlyMemory.Span).Should().BeTrue();

            Example e2 = new Example(consolidated);

            ExampleEqual(e, e2).Should().BeTrue();

            Example e3 = new Example(multipleBufferResult);

            ExampleEqual(e, e3).Should().BeTrue();

            Example e4 = new Example(multipleBufferResult);
            Example e5 = e4.CloneLazinatorTyped();

            ExampleEqual(e, e5).Should().BeTrue();
        }