public void Build_CodeGeneratorOptions_GenerateProperties() { CodeGeneratorOptions options = new CodeGeneratorOptions {GenerateProperties = true}; XmlSerializerImportOptions importOptions = PerformBuild(options); Assert.That(importOptions.WebReferenceOptions.CodeGenerationOptions, Is.EqualTo(CodeGenerationOptions.GenerateProperties)); }
public void Build_CodeGeneratorOptions_EnableDataBinding() { CodeGeneratorOptions options = new CodeGeneratorOptions {EnableDataBinding = true}; XmlSerializerImportOptions importOptions = PerformBuild(options); Assert.That(importOptions.WebReferenceOptions.CodeGenerationOptions, Is.EqualTo(CodeGenerationOptions.EnableDataBinding)); }
/// <summary> /// Builds a new instance. /// </summary> /// <param name="codeGeneratorOptions">The code generator options.</param> /// <returns> /// A new <see cref="ServiceContractGenerationOptions"/> instance. /// </returns> public ServiceContractGenerationOptions Build(CodeGeneratorOptions codeGeneratorOptions) { ServiceContractGenerationOptions serviceContractGenerationOptions = new ServiceContractGenerationOptions(); if (codeGeneratorOptions.AsyncMethods) { serviceContractGenerationOptions |= ServiceContractGenerationOptions.AsynchronousMethods; if (codeGeneratorOptions.TargetFrameworkVersion == TargetFrameworkVersion.Version35) { serviceContractGenerationOptions |= ServiceContractGenerationOptions.EventBasedAsynchronousMethods; } } if (codeGeneratorOptions.CodeGeneratorMode == CodeGeneratorMode.Client) { serviceContractGenerationOptions |= (ServiceContractGenerationOptions.ClientClass | ServiceContractGenerationOptions.ChannelInterface); } if (codeGeneratorOptions.InternalTypes) { serviceContractGenerationOptions |= ServiceContractGenerationOptions.InternalTypes; } if (codeGeneratorOptions.TypedMessages) { serviceContractGenerationOptions |= ServiceContractGenerationOptions.TypedMessages; } return serviceContractGenerationOptions; }
public void Constructor_CodeGeneratorOptions_AssignedToProperty() { CodeGeneratorOptions options = new CodeGeneratorOptions(); ICodeGeneratorContext context = new CodeGeneratorContext(metadataSet, options); Assert.That(context.CodeGeneratorOptions, Is.EqualTo(options)); }
public void Build_CodeGeneratorOptions_NamespaceMappings() { const string expectedNamespace = "TestNamespace"; Dictionary<string, string> mappings = new Dictionary<string, string> {{"*", expectedNamespace}}; CodeGeneratorOptions options = new CodeGeneratorOptions {NamespaceMappings = mappings}; XmlSerializerImportOptions importOptions = PerformBuild(options); Assert.That(importOptions.ClrNamespace, Is.EqualTo(expectedNamespace)); }
public void Build_CodeGeneratorOptions_Wrapped() { CodeGeneratorOptions options = new CodeGeneratorOptions {Wrapped = true}; WrappedOptions wrappedOptions = PerformBuild(options); Assert.That(wrappedOptions.WrappedFlag, Is.True); options = new CodeGeneratorOptions {Wrapped = false}; wrappedOptions = PerformBuild(options); Assert.That(wrappedOptions.WrappedFlag, Is.False); }
public void Build_CodeGeneratorOptions_CodeGeneratorMode() { IServiceContractGenerationOptionsBuilder builder = new ServiceContractGenerationOptionsBuilder(); CodeGeneratorOptions options = new CodeGeneratorOptions {CodeGeneratorMode = CodeGeneratorMode.Client}; ServiceContractGenerationOptions contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.ClientClass | ServiceContractGenerationOptions.ChannelInterface)); options = new CodeGeneratorOptions {CodeGeneratorMode = CodeGeneratorMode.Service}; contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.None)); }
public void Build_CodeGeneratorOptions_AsyncMethods() { IServiceContractGenerationOptionsBuilder builder = new ServiceContractGenerationOptionsBuilder(); CodeGeneratorOptions options = new CodeGeneratorOptions {AsyncMethods = true}; ServiceContractGenerationOptions contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.AsynchronousMethods)); options = new CodeGeneratorOptions {AsyncMethods = false}; contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.None)); }
public void Build_CodeGeneratorOptions_InternalTypes() { CodeGeneratorOptions options = new CodeGeneratorOptions {InternalTypes = true}; XsdDataContractImporter importer = PerformBuild(options); Assert.That(importer.Options.GenerateInternal, Is.True); options = new CodeGeneratorOptions {InternalTypes = false}; importer = PerformBuild(options); Assert.That(importer.Options.GenerateInternal, Is.False); }
public void CodeDomProvider_CodeGeneratorOptions_Language() { CodeGeneratorOptions options = new CodeGeneratorOptions {CodeLanguage = CodeLanguage.CSharp}; ICodeGeneratorContext context = new CodeGeneratorContext(metadataSet, options); Assert.That(context.CodeDomProvider, Is.InstanceOf<CSharpCodeProvider>()); options = new CodeGeneratorOptions {CodeLanguage = CodeLanguage.VisualBasic}; context = new CodeGeneratorContext(metadataSet, options); Assert.That(context.CodeDomProvider, Is.InstanceOf<VBCodeProvider>()); }
public void Build_CodeGeneratorOptions_EnableDataBinding() { CodeGeneratorOptions options = new CodeGeneratorOptions {EnableDataBinding = true}; XsdDataContractImporter importer = PerformBuild(options); Assert.That(importer.Options.EnableDataBinding, Is.True); options = new CodeGeneratorOptions {EnableDataBinding = false}; importer = PerformBuild(options); Assert.That(importer.Options.EnableDataBinding, Is.False); }
public void Build_CodeGeneratorOptions_InternalTypes() { IServiceContractGenerationOptionsBuilder builder = new ServiceContractGenerationOptionsBuilder(); CodeGeneratorOptions options = new CodeGeneratorOptions {InternalTypes = true}; ServiceContractGenerationOptions contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.InternalTypes)); options = new CodeGeneratorOptions {InternalTypes = false}; contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.None)); }
public void Build_CodeGeneratorOptions_TargetFrameworkVersion() { CodeGeneratorOptions options = new CodeGeneratorOptions {TargetFrameworkVersion = TargetFrameworkVersion.Version35}; XmlSerializerImportOptions importOptions = PerformBuild(options); string extensionAssemblyQualifiedName = typeof(TypedDataSetSchemaImporterExtensionFx35).AssemblyQualifiedName; Assert.That(importOptions.WebReferenceOptions.SchemaImporterExtensions, Has.Member(extensionAssemblyQualifiedName)); options = new CodeGeneratorOptions {TargetFrameworkVersion = TargetFrameworkVersion.Version30}; importOptions = PerformBuild(options); extensionAssemblyQualifiedName = typeof(TypedDataSetSchemaImporterExtension).AssemblyQualifiedName; Assert.That(importOptions.WebReferenceOptions.SchemaImporterExtensions, Has.Member(extensionAssemblyQualifiedName)); }
public void Build_CodeGeneratorOptions_AsyncMethodsWithTargetClientVersion() { IServiceContractGenerationOptionsBuilder builder = new ServiceContractGenerationOptionsBuilder(); CodeGeneratorOptions options = new CodeGeneratorOptions { AsyncMethods = true, TargetFrameworkVersion = TargetFrameworkVersion.Version35 }; ServiceContractGenerationOptions contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.AsynchronousMethods | ServiceContractGenerationOptions.EventBasedAsynchronousMethods)); options = new CodeGeneratorOptions { AsyncMethods = true, TargetFrameworkVersion = TargetFrameworkVersion.Version30 }; contractOptions = builder.Build(options); Assert.That(contractOptions, Is.EqualTo(ServiceContractGenerationOptions.AsynchronousMethods)); }
public void Build_CodeGeneratorOptions_NamespaceMappings() { const string expectedMappingKey1 = "1"; const string expectedMappingKey2 = "2"; const string expectedNamespace1 = "Namespace1"; const string expectedNamespace2 = "Namespace2"; Dictionary<string, string> mappings = new Dictionary<string, string> { {expectedMappingKey1, expectedNamespace1}, {expectedMappingKey2, expectedNamespace2} }; CodeGeneratorOptions options = new CodeGeneratorOptions {NamespaceMappings = mappings}; ServiceContractGenerator contractGenerator = PerformBuild(options); IDictionary<string, string> namespaces = contractGenerator.NamespaceMappings; Assert.That(namespaces, Has.Count.EqualTo(2)); Assert.That(namespaces[expectedMappingKey1], Is.EqualTo(expectedNamespace1)); Assert.That(namespaces[expectedMappingKey2], Is.EqualTo(expectedNamespace2)); }
private ServiceContractGenerator GetServiceContractGenerator(CodeGeneratorOptions codeGeneratorOptions) { return(GetServiceContractGenerator(new CodeGeneratorContext(metadataSet, codeGeneratorOptions))); }
public void Build_CodeGeneratorOptions_SerializableAttribute() { CodeGeneratorOptions options = new CodeGeneratorOptions {SerializableAttribute = true}; XsdDataContractImporter importer = PerformBuild(options); Assert.That(importer.Options.GenerateSerializable, Is.True); options = new CodeGeneratorOptions {SerializableAttribute = false}; importer = PerformBuild(options); Assert.That(importer.Options.GenerateSerializable, Is.False); }
private XsdDataContractImporter PerformBuild(CodeGeneratorOptions codeGeneratorOptions) { ICodeGeneratorContext codeGeneratorContext = new CodeGeneratorContext(metadataSet, codeGeneratorOptions); XsdDataContractImporterBuilder builder = new XsdDataContractImporterBuilder(); return builder.Build(codeGeneratorContext); }
private CodeCompileUnit GenerateCode(CodeGeneratorOptions options) { ICodeGeneratorContext codeGeneratorContext = new CodeGeneratorContext(metadataSet, options); WsdlImporterBuilder wsdlImporterBuilder = new WsdlImporterBuilder( new XmlSerializerImportOptionsBuilder(), new XsdDataContractImporterBuilder(), new WrappedOptionsBuilder(), new FaultImportOptionsBuilder()); ServiceContractGeneratorBuilder contractGeneratorBuilder = new ServiceContractGeneratorBuilder( new ServiceContractGenerationOptionsBuilder()); ICodeGenerator codeGenerator = new CodeGenerator(wsdlImporterBuilder, contractGeneratorBuilder); return codeGenerator.GenerateCode(codeGeneratorContext); }
private ServiceContractGenerator PerformBuild(CodeGeneratorOptions codeGeneratorOptions) { return PerformBuild(new CodeGeneratorContext(metadataSet, codeGeneratorOptions)); }
private static WrappedOptions PerformBuild(CodeGeneratorOptions codeGeneratorOptions) { IWrappedOptionsBuilder builder = new WrappedOptionsBuilder(); return builder.Build(codeGeneratorOptions); }
private XmlSerializerImportOptions PerformBuild(CodeGeneratorOptions codeGeneratorOptions) { ICodeGeneratorContext codeGeneratorContext = new CodeGeneratorContext(metadataSet, codeGeneratorOptions); IXmlSerializerImportOptionsBuilder builder = new XmlSerializerImportOptionsBuilder(); return builder.Build(codeGeneratorContext); }
public void Build_CodeGeneratorOptions_OrderMembers() { CodeGeneratorOptions options = new CodeGeneratorOptions {OrderMembers = true}; XmlSerializerImportOptions importOptions = PerformBuild(options); Assert.That(importOptions.WebReferenceOptions.CodeGenerationOptions, Is.EqualTo(CodeGenerationOptions.GenerateOrder)); }
public void SetUp() { codeGeneratorOptions = BuildDefaultCodeGeneratorOptions(); }
/// <summary> /// Builds a new instance. /// </summary> /// <param name="codeGeneratorOptions">The code generator options.</param> /// <returns> /// A new <see cref="WrappedOptions"/> instance. /// </returns> public WrappedOptions Build(CodeGeneratorOptions codeGeneratorOptions) { return new WrappedOptions {WrappedFlag = codeGeneratorOptions.Wrapped}; }