public void TestDomReadOnlyResourceCreateWithPersonResource()
        {
            // Arrange
            var apiResource = ApiSampleData.PersonResource;
            var clrResource = SamplePersons.Person;

            // Act
            var actual = DomReadOnlyResource.Create(apiResource, clrResource);

            this.OutputDomTree(actual);

            // Assert
            DomReadOnlyResourceAssert.Equal(ApiSampleData.PersonResource, actual);
            DomReadOnlyResourceAssert.Equal(SamplePersons.Person, actual);
        }
Пример #2
0
        public static void Equal(object expected, DomReadOnlyResource actual)
        {
            if (expected == null)
            {
                Assert.Null(actual);
                return;
            }

            Assert.NotNull(actual);
            Assert.Equal(DomNodeType.Resource, actual.NodeType);

            var actualResource = actual.ClrResource;

            ClrObjectAssert.Equal(expected, actualResource);
        }
        public void TestDomReadOnlyResourceCreateWithCommentResource()
        {
            // Arrange
            var apiResource = ApiSampleData.CommentResource;
            var clrResource = SampleComments.Comment;

            // Act
            var actual = DomReadOnlyResource.Create(apiResource, clrResource);

            this.OutputDomTree(actual);

            // Assert
            DomReadOnlyResourceAssert.Equal(ApiSampleData.CommentResource, actual);
            DomReadOnlyResourceAssert.Equal(SampleComments.Comment, actual);
        }
        /// <summary>Compact all primary and included resources to read-only resources.</summary>
        private void CompactResourceNodes()
        {
            var domResources = this.DomDocument.DomResources().ToList();

            foreach (var domResource in domResources)
            {
                if (domResource.IsReadOnly)
                {
                    continue;
                }

                var domReadWriteResource = (DomReadWriteResource)domResource;
                var domParentNode        = (IContainerNode <DomNodeType>)domReadWriteResource.ParentNode;

                var apiResource         = domResource.ApiResource;
                var clrResource         = domResource.ClrResource;
                var domReadOnlyResource = DomReadOnlyResource.Create(apiResource, clrResource);

                domParentNode.ReplaceNode(domReadWriteResource, domReadOnlyResource);
            }
        }