1+ using System . Globalization ;
12using Microsoft . AspNetCore . Http ;
23using Microsoft . AspNetCore . WebUtilities ;
34using Microsoft . Extensions . Primitives ;
@@ -8,6 +9,158 @@ namespace TestProject1 {
89 [ TestClass ]
910 public class QueryStringTests {
1011
12+ #region Int32
13+
14+ [ TestMethod ]
15+ public void GetInt32Array ( ) {
16+
17+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
18+ { "ints" , new StringValues ( new [ ] { "1,2" , "3" , "nope" , null } ) }
19+ } ) ;
20+
21+ var array = query . GetInt32Array ( "ints" ) ;
22+
23+ Assert . AreEqual ( 3 , array . Length ) ;
24+
25+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
26+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
27+ Assert . AreEqual ( 3 , array [ 2 ] ) ;
28+
29+ }
30+
31+ [ TestMethod ]
32+ public void GetInt32List ( ) {
33+
34+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
35+ { "ints" , new StringValues ( new [ ] { "1,2" , "3" , "nope" , null } ) }
36+ } ) ;
37+
38+ var array = query . GetInt32List ( "ints" ) ;
39+
40+ Assert . AreEqual ( 3 , array . Count ) ;
41+
42+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
43+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
44+ Assert . AreEqual ( 3 , array [ 2 ] ) ;
45+
46+ }
47+
48+ #endregion
49+
50+ #region Int64
51+
52+ [ TestMethod ]
53+ public void GetInt64Array ( ) {
54+
55+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
56+ { "longs" , new StringValues ( new [ ] { "1,2" , "3" , "nope" , null } ) }
57+ } ) ;
58+
59+ var array = query . GetInt64Array ( "longs" ) ;
60+
61+ Assert . AreEqual ( 3 , array . Length ) ;
62+
63+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
64+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
65+ Assert . AreEqual ( 3 , array [ 2 ] ) ;
66+
67+ }
68+
69+ [ TestMethod ]
70+ public void GetInt64List ( ) {
71+
72+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
73+ { "longs" , new StringValues ( new [ ] { "1,2" , "3" , "nope" , null } ) }
74+ } ) ;
75+
76+ var array = query . GetInt64List ( "longs" ) ;
77+
78+ Assert . AreEqual ( 3 , array . Count ) ;
79+
80+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
81+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
82+ Assert . AreEqual ( 3 , array [ 2 ] ) ;
83+
84+ }
85+
86+ #endregion
87+
88+ #region Float / Single
89+
90+ [ TestMethod ]
91+ public void GetFloatArray ( ) {
92+
93+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
94+ { "floats" , new StringValues ( new [ ] { "1,2" , "3.4" , "nope" , null } ) }
95+ } ) ;
96+
97+ var array = query . GetFloatArray ( "floats" ) ;
98+
99+ Assert . AreEqual ( 3 , array . Length ) ;
100+
101+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
102+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
103+ Assert . AreEqual ( "3.4" , array [ 2 ] . ToString ( "N1" , CultureInfo . InvariantCulture ) ) ;
104+
105+ }
106+
107+ [ TestMethod ]
108+ public void GetFLoatList ( ) {
109+
110+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
111+ { "floats" , new StringValues ( new [ ] { "1,2" , "3.4" , "nope" , null } ) }
112+ } ) ;
113+
114+ var array = query . GetFloatList ( "floats" ) ;
115+
116+ Assert . AreEqual ( 3 , array . Count ) ;
117+
118+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
119+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
120+ Assert . AreEqual ( "3.4" , array [ 2 ] . ToString ( "N1" , CultureInfo . InvariantCulture ) ) ;
121+
122+ }
123+
124+ #endregion
125+
126+ #region Double
127+
128+ [ TestMethod ]
129+ public void GetDoubleArray ( ) {
130+
131+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
132+ { "doubles" , new StringValues ( new [ ] { "1,2" , "3.4" , "nope" , null } ) }
133+ } ) ;
134+
135+ var array = query . GetDoubleArray ( "doubles" ) ;
136+
137+ Assert . AreEqual ( 3 , array . Length ) ;
138+
139+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
140+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
141+ Assert . AreEqual ( "3.4" , array [ 2 ] . ToString ( "N1" , CultureInfo . InvariantCulture ) ) ;
142+
143+ }
144+
145+ [ TestMethod ]
146+ public void GetDoubleList ( ) {
147+
148+ IQueryCollection query = new QueryCollection ( new Dictionary < string , StringValues > {
149+ { "doubles" , new StringValues ( new [ ] { "1,2" , "3.4" , "nope" , null } ) }
150+ } ) ;
151+
152+ var array = query . GetDoubleList ( "doubles" ) ;
153+
154+ Assert . AreEqual ( 3 , array . Count ) ;
155+
156+ Assert . AreEqual ( 1 , array [ 0 ] ) ;
157+ Assert . AreEqual ( 2 , array [ 1 ] ) ;
158+ Assert . AreEqual ( "3.4" , array [ 2 ] . ToString ( "N1" , CultureInfo . InvariantCulture ) ) ;
159+
160+ }
161+
162+ #endregion
163+
11164 #region Guids
12165
13166 [ TestMethod ]
0 commit comments