Skip to content

Commit eb08849

Browse files
committed
Code coverage for default value
1 parent 0064c06 commit eb08849

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

XmlSchemaClassGenerator.Tests/DateOnlyTimeOnlyTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,32 @@ public void WhenUseDateOnlyIsFalse_DateTimeIsGenerated()
106106
Assert.Contains("DataType=\"date\"", code);
107107
Assert.Contains("DataType=\"time\"", code);
108108
}
109+
[Fact]
110+
public void WhenDefaultValueIsPresent_CodeIsGenerated()
111+
{
112+
var xsd = @$"<?xml version=""1.0"" encoding=""UTF-8""?>
113+
<xs:schema elementFormDefault=""qualified"" xmlns:xs=""http://www.w3.org/2001/XMLSchema"">
114+
<xs:complexType name=""document"">
115+
<xs:sequence>
116+
<xs:element name=""someDate"" type=""xs:date"" default=""2023-10-27"" />
117+
<xs:element name=""someTime"" type=""xs:time"" default=""12:34:56"" />
118+
</xs:sequence>
119+
</xs:complexType>
120+
</xs:schema>";
121+
122+
var generatedType = ConvertXml(
123+
xsd, new()
124+
{
125+
NamespaceProvider = new()
126+
{
127+
GenerateNamespace = _ => "Test"
128+
},
129+
UseDateOnly = true
130+
});
131+
132+
var code = string.Join(Environment.NewLine, generatedType);
133+
134+
Assert.Contains("System.DateOnly.Parse(\"2023-10-27\")", code);
135+
Assert.Contains("System.TimeOnly.Parse(\"12:34:56\")", code);
136+
}
109137
}

0 commit comments

Comments
 (0)