From 438972e30a72663b0f1bb61644796fe51a0f9e8e Mon Sep 17 00:00:00 2001 From: Fabian Wetzel Date: Wed, 2 Feb 2022 13:48:09 +0100 Subject: [PATCH] added test case for https://github.com/mganss/XmlSchemaClassGenerator/issues/303 --- XmlSchemaClassGenerator.Tests/XmlTests.cs | 51 +++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/XmlSchemaClassGenerator.Tests/XmlTests.cs b/XmlSchemaClassGenerator.Tests/XmlTests.cs index 4b8b0f0e..a81237d5 100644 --- a/XmlSchemaClassGenerator.Tests/XmlTests.cs +++ b/XmlSchemaClassGenerator.Tests/XmlTests.cs @@ -1765,6 +1765,57 @@ public void RenameInterfacePropertyInDerivedClassTest() Assert.Equal("ClassItemBaseProperty", level3Interface.GetProperties().First().Name); } + [Fact] + public void RefTypesGetNoXmlElementAttributeTest() + { + const string xsd = @" + + + + + + + + + + + + + + + + + + + + + + +"; + + var generator = new Generator + { + NamespaceProvider = new NamespaceProvider + { + GenerateNamespace = key => "Test" + }, + GenerateInterfaces = true, + AssemblyVisible = true + }; + var contents = ConvertXml(nameof(RefTypesGetNoXmlElementAttributeTest), xsd, generator); + var content = Assert.Single(contents); + + var assembly = Compiler.Compile(nameof(RefTypesGetNoXmlElementAttributeTest), content); + var classType = assembly.GetType("Test.SampleRoot"); + Assert.NotNull(classType); + + var directProperty = Assert.Single(classType.GetProperties().Where(p => p.Name == "Direct")); + Assert.NotEmpty(directProperty.GetCustomAttributes()); + + var viaRefProperty = Assert.Single(classType.GetProperties().Where(p => p.Name == "ViaRef")); + Assert.Empty(viaRefProperty.GetCustomAttributes()); + } + [Fact] public void DoNotGenerateSamePropertiesInDerivedInterfacesClassTest() {