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() {