public void SyncAsyncMismatchTest()
        {
            var model = new EdmModel();
            var payloadDescriptors = Test.OData.Utils.ODataLibTest.TestFeeds.GetFeeds(model, true /*withTypeNames*/);
            var testDescriptors = this.PayloadDescriptorsToReaderDescriptors(payloadDescriptors);
            
            this.CombinatorialEngineProvider.RunCombinations(
                testDescriptors, 
                this.ReaderTestConfigurationProvider.ExplicitFormatConfigurations, 
                (testDescriptor, testConfiguration) =>
                {
                    var message = TestReaderUtils.CreateInputMessage(testConfiguration, testDescriptor, this.Settings, false);
                    message.IgnoreSynchronousError = true;
                    message.TestStream.IgnoreSynchronousError = true;

                    Exception exception = TestExceptionUtils.RunCatching(() =>
                    {
                        using (ODataMessageReaderTestWrapper messageReaderWrapper = TestReaderUtils.CreateMessageReader(message, model, testConfiguration))
                        {
                            var feedReader = messageReaderWrapper.MessageReader.CreateODataFeedReader(model.EntityContainer.FindEntitySet("MyBaseType"), model.EntityTypes().FirstOrDefault());
                            if (testConfiguration.Synchronous)
                            {
                                feedReader.Read();
                                feedReader.ReadAsync();
                            }
                            else
                            {
                                feedReader.ReadAsync();
                                feedReader.Read();
                            }
                        }
                    });
                    
                    var expected = ODataExpectedExceptions.ODataException("ODataReaderCore_AsyncCallOnSyncReader");
                    ExceptionVerifier.VerifyExceptionResult(expected, exception);
                });
        }