@@ -15,15 +15,15 @@ public static object[][] Decimals()
1515 {
1616 return new object [ ] [ ]
1717 {
18- new object [ ] { "de-DE" , "1" , 1m } ,
19- new object [ ] { "de-DE" , "-42" , - 42m } ,
20- new object [ ] { "de-DE" , "3,215" , 3.215m } ,
21- new object [ ] { "de-DE" , "3.215" , 3215m } ,
22-
23- new object [ ] { null , "1" , 1m } ,
24- new object [ ] { null , "-42" , - 42m } ,
25- new object [ ] { null , "3,215" , 3215m } ,
26- new object [ ] { null , "3.215" , 3.215m }
18+ new object [ ] { "de-DE" , "1" , 1m } ,
19+ new object [ ] { "de-DE" , "-42" , - 42m } ,
20+ new object [ ] { "de-DE" , "3,215" , 3.215m } ,
21+ new object [ ] { "de-DE" , "3.215" , 3215m } ,
22+
23+ new object [ ] { null , "1" , 1m } ,
24+ new object [ ] { null , "-42" , - 42m } ,
25+ new object [ ] { null , "3,215" , 3215m } ,
26+ new object [ ] { null , "3.215" , 3.215m }
2727 } ;
2828 }
2929
@@ -48,23 +48,23 @@ public static object[][] Floats()
4848 {
4949 return new object [ ] [ ]
5050 {
51- new object [ ] { "de-DE" , "1" , 1f } ,
52- new object [ ] { "de-DE" , "-42" , - 42f } ,
53- new object [ ] { "de-DE" , "3,215" , 3.215f } ,
54- new object [ ] { "de-DE" , "3.215" , 3215f } ,
55- new object [ ] { "de-DE" , "1,2345E-4" , 0.00012345f } ,
56- new object [ ] { "de-DE" , "1,2345e-4" , 0.00012345f } ,
57- new object [ ] { "de-DE" , "1,2345E4" , 12345d } ,
58- new object [ ] { "de-DE" , "1,2345e4" , 12345d } ,
59-
60- new object [ ] { null , "1" , 1f } ,
61- new object [ ] { null , "-42" , - 42f } ,
62- new object [ ] { null , "3,215" , 3215f } ,
63- new object [ ] { null , "3.215" , 3.215f } ,
64- new object [ ] { null , "1.2345E-4" , 0.00012345f } ,
65- new object [ ] { null , "1.2345e-4" , 0.00012345f } ,
66- new object [ ] { null , "1.2345E4" , 12345f } ,
67- new object [ ] { null , "1.2345e4" , 12345f }
51+ new object [ ] { "de-DE" , "1" , 1f } ,
52+ new object [ ] { "de-DE" , "-42" , - 42f } ,
53+ new object [ ] { "de-DE" , "3,215" , 3.215f } ,
54+ new object [ ] { "de-DE" , "3.215" , 3215f } ,
55+ new object [ ] { "de-DE" , "1,2345E-4" , 0.00012345f } ,
56+ new object [ ] { "de-DE" , "1,2345e-4" , 0.00012345f } ,
57+ new object [ ] { "de-DE" , "1,2345E4" , 12345d } ,
58+ new object [ ] { "de-DE" , "1,2345e4" , 12345d } ,
59+
60+ new object [ ] { null , "1" , 1f } ,
61+ new object [ ] { null , "-42" , - 42f } ,
62+ new object [ ] { null , "3,215" , 3215f } ,
63+ new object [ ] { null , "3.215" , 3.215f } ,
64+ new object [ ] { null , "1.2345E-4" , 0.00012345f } ,
65+ new object [ ] { null , "1.2345e-4" , 0.00012345f } ,
66+ new object [ ] { null , "1.2345E4" , 12345f } ,
67+ new object [ ] { null , "1.2345e4" , 12345f }
6868 } ;
6969 }
7070
@@ -89,23 +89,23 @@ public static IEnumerable<object[]> Doubles()
8989 {
9090 return new object [ ] [ ]
9191 {
92- new object [ ] { "de-DE" , "1" , 1d } ,
93- new object [ ] { "de-DE" , "-42" , - 42d } ,
94- new object [ ] { "de-DE" , "3,215" , 3.215d } ,
95- new object [ ] { "de-DE" , "3.215" , 3215d } ,
96- new object [ ] { "de-DE" , "1,2345E-4" , 0.00012345d } ,
97- new object [ ] { "de-DE" , "1,2345e-4" , 0.00012345d } ,
98- new object [ ] { "de-DE" , "1,2345E4" , 12345d } ,
99- new object [ ] { "de-DE" , "1,2345e4" , 12345d } ,
100-
101- new object [ ] { null , "1" , 1d } ,
102- new object [ ] { null , "-42" , - 42d } ,
103- new object [ ] { null , "3,215" , 3215d } ,
104- new object [ ] { null , "3.215" , 3.215d } ,
105- new object [ ] { null , "1.2345E-4" , 0.00012345d } ,
106- new object [ ] { null , "1.2345e-4" , 0.00012345d } ,
107- new object [ ] { null , "1.2345E4" , 12345d } ,
108- new object [ ] { null , "1.2345e4" , 12345d }
92+ new object [ ] { "de-DE" , "1" , 1d } ,
93+ new object [ ] { "de-DE" , "-42" , - 42d } ,
94+ new object [ ] { "de-DE" , "3,215" , 3.215d } ,
95+ new object [ ] { "de-DE" , "3.215" , 3215d } ,
96+ new object [ ] { "de-DE" , "1,2345E-4" , 0.00012345d } ,
97+ new object [ ] { "de-DE" , "1,2345e-4" , 0.00012345d } ,
98+ new object [ ] { "de-DE" , "1,2345E4" , 12345d } ,
99+ new object [ ] { "de-DE" , "1,2345e4" , 12345d } ,
100+
101+ new object [ ] { null , "1" , 1d } ,
102+ new object [ ] { null , "-42" , - 42d } ,
103+ new object [ ] { null , "3,215" , 3215d } ,
104+ new object [ ] { null , "3.215" , 3.215d } ,
105+ new object [ ] { null , "1.2345E-4" , 0.00012345d } ,
106+ new object [ ] { null , "1.2345e-4" , 0.00012345d } ,
107+ new object [ ] { null , "1.2345E4" , 12345d } ,
108+ new object [ ] { null , "1.2345e4" , 12345d }
109109 } ;
110110 }
111111
@@ -158,17 +158,39 @@ public void NumberParser_ParseIntegerLiteral(string text, double expected)
158158 [ InlineData ( "-42" , 'm' , - 42 ) ]
159159 [ InlineData ( "42m" , 'm' , 42 ) ]
160160 [ InlineData ( "-42m" , 'm' , - 42 ) ]
161+ public void NumberParser_ParseDecimalLiteral ( string text , char qualifier , decimal expected )
162+ {
163+ // Arrange
164+
165+ // Act
166+ var result = new NumberParser ( _parsingConfig ) . ParseRealLiteral ( text , qualifier , true ) as ConstantExpression ;
161167
168+ // Assert
169+ result ! . Value . Should ( ) . Be ( expected ) ;
170+ }
171+
172+ [ Theory ]
162173 [ InlineData ( "42" , 'd' , 42 ) ]
163174 [ InlineData ( "-42" , 'd' , - 42 ) ]
164175 [ InlineData ( "42d" , 'd' , 42 ) ]
165176 [ InlineData ( "-42d" , 'd' , - 42 ) ]
177+ public void NumberParser_ParseDoubleLiteral ( string text , char qualifier , double expected )
178+ {
179+ // Arrange
180+
181+ // Act
182+ var result = new NumberParser ( _parsingConfig ) . ParseRealLiteral ( text , qualifier , true ) as ConstantExpression ;
166183
184+ // Assert
185+ result ! . Value . Should ( ) . Be ( expected ) ;
186+ }
187+
188+ [ Theory ]
167189 [ InlineData ( "42" , 'f' , 42 ) ]
168190 [ InlineData ( "-42" , 'f' , - 42 ) ]
169191 [ InlineData ( "42f" , 'f' , 42 ) ]
170192 [ InlineData ( "-42f" , 'f' , - 42 ) ]
171- public void NumberParser_ParseRealLiteral ( string text , char qualifier , double expected )
193+ public void NumberParser_ParseFloatLiteral ( string text , char qualifier , float expected )
172194 {
173195 // Arrange
174196
0 commit comments