Beispiel #1
0
        internal static void TopLevelFeedInstanceAnnotationTest(string feedPayload, string contentType, bool isResponse, bool shouldReadAndValidateCustomInstanceAnnotations = true, bool odataSimplified = false)
        {
            ODataFeed feedFromReader = null;

            using (var messageReader = CreateODataMessageReader(feedPayload, contentType, isResponse, shouldReadAndValidateCustomInstanceAnnotations, odataSimplified))
            {
                var odataReader = messageReader.CreateODataFeedReader(EntitySet, EntityType);

                while (odataReader.Read())
                {
                    switch (odataReader.State)
                    {
                    case ODataReaderState.FeedStart:
                        feedFromReader = (ODataFeed)odataReader.Item;
                        if (IsStreaming(contentType))
                        {
                            if (shouldReadAndValidateCustomInstanceAnnotations)
                            {
                                ValidateContainsAllExpectedInstanceAnnotationsBeforeStateChange(feedFromReader.InstanceAnnotations, shouldReadAndValidateCustomInstanceAnnotations);
                            }
                            else
                            {
                                feedFromReader.InstanceAnnotations.Count.Should().Be(0);
                            }
                        }
                        else
                        {
                            ValidateContainsAllExpectedInstanceAnnotations(feedFromReader.InstanceAnnotations, shouldReadAndValidateCustomInstanceAnnotations);
                        }
                        break;

                    case ODataReaderState.FeedEnd:
                        feedFromReader.Should().NotBeNull();
                        ValidateContainsAllExpectedInstanceAnnotations(feedFromReader.InstanceAnnotations, shouldReadAndValidateCustomInstanceAnnotations);

                        break;
                    }
                }
            }

            feedFromReader.Should().NotBeNull();
            ValidateContainsAllExpectedInstanceAnnotations(feedFromReader.InstanceAnnotations, shouldReadAndValidateCustomInstanceAnnotations);
        }