public BatchWriterTestDescriptor(Settings settings, WriterInvocations[] invocations, Dictionary<string, string> expectedHeaders = null, Uri baseUri = null)
 {
     this.TestDescriptorSettings = settings;
     this.invocationsAndOperationDescriptors = invocations.Select(i => new InvocationAndOperationDescriptor { Invocation = i, OperationDescriptor = null }).ToArray();
     this.expectedResultCallback = CreateExpectedResultCallback(this.invocationsAndOperationDescriptors, expectedHeaders, this.TestDescriptorSettings.ExpectedResultSettings);
     this.baseUri = baseUri;
 }
        public CollectionWriterTestDescriptor(Settings settings, string collectionName, WriterInvocations[] invocations, Func<WriterTestConfiguration, ExpectedException> expectedExceptionFunc, ItemDescription collectionItem, ItemDescription errorItem, IEdmModel model)
        {
            this.TestDescriptorSettings = settings;
            this.collectionName = collectionName;
            ItemDescription[] itemDescriptions;
            bool errorOnly;
            this.payloadItems = CreatePayloadItems(invocations, collectionItem, errorItem, out itemDescriptions, out errorOnly);
            this.invocations = invocations;
            this.Model = model;

            if (expectedExceptionFunc == null)
            {
                this.expectedResultCallback = CollectionWriterUtils.CreateExpectedResultCallback(collectionName, itemDescriptions, errorOnly, this.TestDescriptorSettings.ExpectedResultSettings);
            }
            else
            {
                this.expectedResultCallback = CollectionWriterUtils.CreateExpectedErrorResultCallback(collectionName, expectedExceptionFunc, this.TestDescriptorSettings.ExpectedResultSettings);
            }
        }
 public CollectionWriterTestDescriptor(Settings settings, string collectionName, WriterInvocations[] invocations, Func<WriterTestConfiguration, ExpectedException> expectedExceptionFunc, ItemDescription collectionItem)
 {
     this.TestDescriptorSettings = settings;
     this.collectionName = collectionName;
     ItemDescription[] itemDescriptions;
     bool errorOnly;
     this.payloadItems = CreatePayloadItems(invocations, collectionItem, null, out itemDescriptions, out errorOnly);
     this.invocations = invocations;
     if (expectedExceptionFunc == null )
     {
         // skip validation of cases that do not expect an error
         this.expectedResultCallback = testConfig => null;
     }
     else
     {
         this.expectedResultCallback =
             testConfig => new WriterTestExpectedResults(this.TestDescriptorSettings.ExpectedResultSettings) 
             { 
                 ExpectedException2 = expectedExceptionFunc(testConfig) 
             };
     }
 }
 public BatchWriterTestDescriptor(Settings settings, WriterInvocations[] invocations, string expectedExceptionMessage, Uri baseUri = null)
     : this(settings, invocations.Select(i => new InvocationAndOperationDescriptor { Invocation = i, OperationDescriptor = null }).ToArray(), expectedExceptionMessage, baseUri)
 {
 }