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); }