77using Xunit ;
88
99namespace XmlSchemaClassGenerator . Tests {
10- public class IntegerTypeTests
10+ public sealed class IntegerTypeTests
1111 {
12- private static IEnumerable < string > ConvertXml ( string name , string xsd , Generator generatorPrototype = null )
12+ private static IEnumerable < string > ConvertXml ( string xsd , Generator generatorPrototype )
1313 {
14- if ( name is null )
15- {
16- throw new ArgumentNullException ( nameof ( name ) ) ;
17- }
18-
1914 var writer = new MemoryOutputWriter ( ) ;
2015
2116 var gen = new Generator
2217 {
2318 OutputWriter = writer ,
24- Version = new VersionProvider ( "Tests" , "1.0.0.1" ) ,
19+ Version = new ( "Tests" , "1.0.0.1" ) ,
2520 NamespaceProvider = generatorPrototype . NamespaceProvider ,
2621 GenerateNullables = generatorPrototype . GenerateNullables ,
2722 IntegerDataType = generatorPrototype . IntegerDataType ,
@@ -40,11 +35,8 @@ private static IEnumerable<string> ConvertXml(string name, string xsd, Generator
4035
4136 using ( var stringReader = new StringReader ( xsd ) )
4237 {
43- var schema = XmlSchema . Read ( stringReader , ( s , e ) =>
44- {
45- throw new InvalidOperationException ( $ "{ e . Severity } : { e . Message } ", e . Exception ) ;
46- } ) ;
47-
38+ var schema = XmlSchema . Read ( stringReader , ( _ , e ) => throw new InvalidOperationException ( $ "{ e . Severity } : { e . Message } ", e . Exception ) ) ;
39+ ArgumentNullException . ThrowIfNull ( schema ) ;
4840 set . Add ( schema ) ;
4941 }
5042
@@ -77,16 +69,19 @@ public void TestTotalDigits(int totalDigits, string expectedType)
7769 </xs:complexType>
7870</xs:schema>" ;
7971
80- var generatedType = ConvertXml ( nameof ( TestTotalDigits ) , xsd , new Generator
72+ var generatedType = ConvertXml (
73+ xsd , new ( )
8174 {
82- NamespaceProvider = new NamespaceProvider
75+ NamespaceProvider = new ( )
8376 {
84- GenerateNamespace = key => "Test"
77+ GenerateNamespace = _ => "Test"
8578 }
8679 } ) ;
8780
8881 var expectedProperty = $ "public { expectedType } SomeValue";
89- Assert . Contains ( expectedProperty , generatedType . First ( ) ) ;
82+ var generatedProperty = generatedType . First ( ) ;
83+
84+ Assert . Contains ( expectedProperty , generatedProperty ) ;
9085 }
9186
9287 [ Theory ]
@@ -111,18 +106,21 @@ public void TestFallbackType(int totalDigits, bool useTypeAsFallback, string exp
111106 </xs:complexType>
112107</xs:schema>" ;
113108
114- var generatedType = ConvertXml ( nameof ( TestTotalDigits ) , xsd , new Generator
109+ var generatedType = ConvertXml (
110+ xsd , new ( )
115111 {
116- NamespaceProvider = new NamespaceProvider
112+ NamespaceProvider = new ( )
117113 {
118- GenerateNamespace = key => "Test"
114+ GenerateNamespace = _ => "Test"
119115 } ,
120116 IntegerDataType = typeof ( long ) ,
121117 UseIntegerDataTypeAsFallback = useTypeAsFallback
122118 } ) ;
123119
124120 var expectedProperty = $ "public { expectedType } SomeValue";
125- Assert . Contains ( expectedProperty , generatedType . First ( ) ) ;
121+ var generatedProperty = generatedType . First ( ) ;
122+
123+ Assert . Contains ( expectedProperty , generatedProperty ) ;
126124 }
127125
128126 [ Theory ]
@@ -160,11 +158,12 @@ public void TestInclusiveRange(long minInclusive, ulong maxInclusive, string exp
160158 </xs:complexType>
161159</xs:schema>" ;
162160
163- var generatedType = ConvertXml ( nameof ( TestTotalDigits ) , xsd , new Generator
161+ var generatedType = ConvertXml (
162+ xsd , new ( )
164163 {
165- NamespaceProvider = new NamespaceProvider
164+ NamespaceProvider = new ( )
166165 {
167- GenerateNamespace = key => "Test"
166+ GenerateNamespace = _ => "Test"
168167 }
169168 } ) ;
170169
@@ -189,25 +188,28 @@ public void TestDecimalFractionDigitsZeroTotalDigits(int totalDigits, string exp
189188 <xs:sequence>
190189 <xs:element name=""someValue"">
191190 <xs:simpleType>
192- <xs:restriction base=""xs:integer "">
191+ <xs:restriction base=""xs:decimal "">
193192 <xs:totalDigits value=""{ totalDigits } ""/>
193+ <xs:fractionDigits value=""0""/>
194194 </xs:restriction>
195195 </xs:simpleType>
196196 </xs:element>
197197 </xs:sequence>
198198 </xs:complexType>
199199</xs:schema>" ;
200200
201- var generatedType = ConvertXml ( nameof ( TestTotalDigits ) , xsd , new Generator
201+ var generatedType = ConvertXml ( xsd , new ( )
202202 {
203- NamespaceProvider = new NamespaceProvider
203+ NamespaceProvider = new ( )
204204 {
205- GenerateNamespace = key => "Test"
205+ GenerateNamespace = _ => "Test"
206206 }
207207 } ) ;
208208
209209 var expectedProperty = $ "public { expectedType } SomeValue";
210- Assert . Contains ( expectedProperty , generatedType . First ( ) ) ;
210+ var generatedProperty = generatedType . First ( ) ;
211+
212+ Assert . Contains ( expectedProperty , generatedProperty ) ;
211213 }
212214
213215
@@ -224,27 +226,31 @@ public void TestDecimalFractionDigitsFallbackType(int totalDigits, bool useTypeA
224226 <xs:sequence>
225227 <xs:element name=""someValue"">
226228 <xs:simpleType>
227- <xs:restriction base=""xs:integer "">
229+ <xs:restriction base=""xs:decimal "">
228230 <xs:totalDigits value=""{ totalDigits } ""/>
231+ <xs:fractionDigits value=""0""/>
229232 </xs:restriction>
230233 </xs:simpleType>
231234 </xs:element>
232235 </xs:sequence>
233236 </xs:complexType>
234237</xs:schema>" ;
235238
236- var generatedType = ConvertXml ( nameof ( TestTotalDigits ) , xsd , new Generator
239+ var generatedType = ConvertXml (
240+ xsd , new ( )
237241 {
238- NamespaceProvider = new NamespaceProvider
242+ NamespaceProvider = new ( )
239243 {
240- GenerateNamespace = key => "Test"
244+ GenerateNamespace = _ => "Test"
241245 } ,
242246 IntegerDataType = typeof ( long ) ,
243247 UseIntegerDataTypeAsFallback = useTypeAsFallback
244248 } ) ;
245249
246250 var expectedProperty = $ "public { expectedType } SomeValue";
247- Assert . Contains ( expectedProperty , generatedType . First ( ) ) ;
251+ var generatedProperty = generatedType . First ( ) ;
252+
253+ Assert . Contains ( expectedProperty , generatedProperty ) ;
248254 }
249255
250256 [ Theory ]
@@ -283,11 +289,12 @@ public void TestDecimalFractionDigitsZeroInclusiveRange(long minInclusive, ulong
283289 </xs:complexType>
284290</xs:schema>" ;
285291
286- var generatedType = ConvertXml ( nameof ( TestTotalDigits ) , xsd , new Generator
292+ var generatedType = ConvertXml (
293+ xsd , new ( )
287294 {
288- NamespaceProvider = new NamespaceProvider
295+ NamespaceProvider = new ( )
289296 {
290- GenerateNamespace = key => "Test"
297+ GenerateNamespace = _ => "Test"
291298 }
292299 } ) ;
293300
0 commit comments