示例#1
0
            public void VerifyTree(IDataNode dataNode)
            {
                dataNode.Should().BeOfType <UserTypeDataNode <ClassWithStringInline> >();

                dataNode.Edges.Should().HaveCount(1);

                VerifyEdge(dataNode.Edges[0], this, v => v.Value);

                StringDataNode stringDataNode = dataNode.Edges[0].ChildNode.Should().BeOfType <StringDataNode>()
                                                .Subject;

                GetLengthForStringDataNode(stringDataNode).Should().Be(LENGTH);
            }
示例#2
0
            public void VerifyTree(IDataNode dataNode)
            {
                dataNode.Should().BeOfType <UserTypeDataNode <ClassWithPrimitiveProperties> >();

                dataNode.Edges.Should().HaveCount(2);

                VerifyEdge(dataNode.Edges[0], this, v => v.Int);

                dataNode.Edges[0].ChildNode.Should().BeOfType <PrimitiveTypeDataNode <int> >();

                VerifyEdge(dataNode.Edges[1], this, v => v.Float);

                dataNode.Edges[1].ChildNode.Should().BeOfType <PrimitiveTypeDataNode <float> >();
            }
示例#3
0
            public void VerifyTree(IDataNode dataNode)
            {
                dataNode.Should().BeOfType <UserTypeDataNode <ClassWithStringAtOffset> >();

                dataNode.Edges.Should().HaveCount(1);

                VerifyEdge(dataNode.Edges[0], this, v => v.Value);

                StringDataNode stringDataNode = dataNode.Edges[0].ChildNode.Should().BeOfType <OffsetNode>()
                                                .Subject.ChildNode.Should().BeOfType <StringDataNode>()
                                                .Subject;

                GetLengthForStringDataNode(stringDataNode).Should().Be(StringDataNode.OFFSET_STRING_MAX_LENGTH);
            }
示例#4
0
            public void VerifyTree(IDataNode dataNode)
            {
                dataNode.Should().BeOfType <UserTypeDataNode <ClassWithNestedClassWithPrimitiveProperties> >();

                dataNode.Edges.Should().HaveCount(3);

                VerifyEdge(dataNode.Edges[0], this, v => v.FlatClass);

                FlatClass.VerifyTree(dataNode.Edges[0].ChildNode as IDataNode);

                VerifyEdge(dataNode.Edges[1], this, v => v.Byte);

                dataNode.Edges[1].ChildNode.Should().BeOfType <PrimitiveTypeDataNode <byte> >();

                VerifyEdge(dataNode.Edges[2], this, v => v.Identifier);

                dataNode.Edges[2].ChildNode.Should().BeOfType <PrimitiveTypeDataNode <Identifier> >();
            }
示例#5
0
        private static void VerifyTreeForClassWithAList <T>(IDataNode dataNode, T expected, Func <T, object> extractor, bool duplicateEntryCount) where T : new()
        {
            dataNode.Should().BeOfType <UserTypeDataNode <T> >();

            dataNode.Edges.Should().HaveCount(1);

            VerifyEdge(dataNode.Edges[0], expected, extractor);

            ListNode <ClassWithPrimitiveProperties> listNode = dataNode.Edges[0].ChildNode.Should()
                                                               .BeOfType <ListNode <ClassWithPrimitiveProperties> >()
                                                               .Subject;

            FieldInfo duplicateEntryCountField = typeof(ListNode <ClassWithPrimitiveProperties>)
                                                 .GetField("duplicateEntryCount", BindingFlags.NonPublic | BindingFlags.Instance);

            duplicateEntryCountField.GetValue(listNode).Should().Be(duplicateEntryCount);

            ClassWithPrimitiveProperties.BuildSample().VerifyTree(listNode.ChildNode);
        }
示例#6
0
            public void VerifyTree(IDataNode dataNode)
            {
                dataNode.Should().BeOfType <UserTypeDataNode <ClassWithPaddedProperties> >();

                dataNode.Edges.Should().HaveCount(2);

                VerifyEdge(dataNode.Edges[0], this, v => v.Byte);

                dataNode.Edges[0].ChildNode.Should().BeOfType <PaddingNode>();

                ExtractChildNode(dataNode.Edges[0].ChildNode).Should().BeOfType <PrimitiveTypeDataNode <byte> >();

                VerifyEdge(dataNode.Edges[1], this, v => v.Child);

                dataNode.Edges[1].ChildNode.Should().BeOfType <PaddingNode>();

                object paddedNode = ExtractChildNode(dataNode.Edges[1].ChildNode);

                paddedNode.Should().Match(n => n is IDataNode);

                Child.VerifyTree(paddedNode as IDataNode);
            }