From 7749608a9d6f5b00b978b0ed7c6584591b953304 Mon Sep 17 00:00:00 2001 From: Michael Ganss Date: Thu, 5 Nov 2015 13:49:07 +0100 Subject: [PATCH] Expose NamespacePrefix on Generator Increase coverage --- XmlSchemaClassGenerator.Tests/XmlTests.cs | 23 ++++++++++------------- XmlSchemaClassGenerator/Generator.cs | 6 ++++++ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/XmlSchemaClassGenerator.Tests/XmlTests.cs b/XmlSchemaClassGenerator.Tests/XmlTests.cs index ba67ef9d..8d318628 100644 --- a/XmlSchemaClassGenerator.Tests/XmlTests.cs +++ b/XmlSchemaClassGenerator.Tests/XmlTests.cs @@ -35,25 +35,17 @@ private Assembly Compile(string name, string pattern, Generator generatorPrototy { GenerateNullables = true, IntegerDataType = typeof(int), - DataAnnotationMode = DataAnnotationMode.Partial, + DataAnnotationMode = DataAnnotationMode.All, GenerateDesignerCategoryAttribute = false, EntityFramework = false, - GenerateInterfaces = true + GenerateInterfaces = true, + NamespacePrefix = name, }; var gen = new Generator { OutputFolder = outputFolder, - NamespaceProvider = new NamespaceProvider - { - GenerateNamespace = key => - { - var xn = key.XmlSchemaNamespace; - var nm = string.Join(".", xn.Split('/').Where(p => Regex.IsMatch(p, @"^[A-Za-z]+$") && p != "schema") - .Select(n => Generator.ToTitleCase(n, NamingScheme.PascalCase))); - return name + (string.IsNullOrEmpty(nm) ? "" : ("." + nm)); - } - }, + NamespaceProvider = generatorPrototype.NamespaceProvider, Log = f => cs.Add(f), GenerateNullables = generatorPrototype.GenerateNullables, IntegerDataType = generatorPrototype.IntegerDataType, @@ -106,7 +98,12 @@ public void CanDeserializeSampleXml() TestSamples("Client", ClientPattern); Compile("IS24RestApi", IS24Pattern); TestSamples("IS24RestApi", IS24Pattern); - Compile("Wadl", WadlPattern, new Generator { EntityFramework = true, DataAnnotationMode = DataAnnotationMode.All }); + Compile("Wadl", WadlPattern, new Generator + { + EntityFramework = true, + DataAnnotationMode = DataAnnotationMode.All, + NamespaceProvider = new Dictionary { { new NamespaceKey("http://wadl.dev.java.net/2009/02"), "Wadl" } }.ToNamespaceProvider(new GeneratorConfiguration { NamespacePrefix = "Wadl" }.NamespaceProvider.GenerateNamespace) + }); TestSamples("Wadl", WadlPattern); } diff --git a/XmlSchemaClassGenerator/Generator.cs b/XmlSchemaClassGenerator/Generator.cs index e19d7a58..0b2db114 100644 --- a/XmlSchemaClassGenerator/Generator.cs +++ b/XmlSchemaClassGenerator/Generator.cs @@ -27,6 +27,12 @@ public NamespaceProvider NamespaceProvider set { _configuration.NamespaceProvider = value; } } + public string NamespacePrefix + { + get { return _configuration.NamespacePrefix; } + set { _configuration.NamespacePrefix = value; } + } + public string OutputFolder { get { return _configuration.OutputFolder; }