@@ -205,6 +205,65 @@ def test(integer):
205205 self .assertRaises (ValueError , validator .__call__ , maxsize + 1 )
206206
207207 return
208+
209+ def test_float (self ):
210+ # Float validator test
211+
212+ maxsize = sys .maxsize
213+ minsize = - (sys .maxsize - 1 )
214+
215+ validator = validators .Float ()
216+
217+ def test (float_val ):
218+ try :
219+ float_val = float (float_val )
220+ except ValueError :
221+ assert False
222+ for s in str (float_val ), six .text_type (float_val ):
223+ value = validator .__call__ (s )
224+ self .assertEqual (value , float_val )
225+ self .assertIsInstance (value , float )
226+ self .assertEqual (validator .format (float_val ), six .text_type (float_val ))
227+
228+ test (2 * minsize )
229+ test (minsize )
230+ test (- 1 )
231+ test (0 )
232+ test (- 1.12345 )
233+ test (0.0001 )
234+ test (100101.011 )
235+ test (2 * maxsize )
236+ test ('18.32123' )
237+ self .assertRaises (ValueError , validator .__call__ , 'Splunk!' )
238+
239+ validator = validators .Float (minimum = 0 )
240+ self .assertEqual (validator .__call__ (0 ), 0 )
241+ self .assertEqual (validator .__call__ (1.154 ), 1.154 )
242+ self .assertEqual (validator .__call__ (888.51 ), 888.51 )
243+ self .assertEqual (validator .__call__ (2 * maxsize ), float (2 * maxsize ))
244+ self .assertRaises (ValueError , validator .__call__ , - 1 )
245+ self .assertRaises (ValueError , validator .__call__ , - 1111.00578 )
246+ self .assertRaises (ValueError , validator .__call__ , - 0.005 )
247+
248+ validator = validators .Float (minimum = 1 , maximum = maxsize )
249+ self .assertEqual (validator .__call__ (1 ), float (1 ))
250+ self .assertEqual (validator .__call__ (100.111 ), 100.111 )
251+ self .assertEqual (validator .__call__ (9999.0 ), 9999.0 )
252+ self .assertEqual (validator .__call__ (maxsize ), float (maxsize ))
253+ self .assertRaises (ValueError , validator .__call__ , 0 )
254+ self .assertRaises (ValueError , validator .__call__ , 0.9999 )
255+ self .assertRaises (ValueError , validator .__call__ , - 199 )
256+ self .assertRaises (ValueError , validator .__call__ , maxsize + 1 )
257+
258+ validator = validators .Float (minimum = - 1 , maximum = 1 )
259+ self .assertEqual (validator .__call__ (0 ), float (0 ))
260+ self .assertEqual (validator .__call__ (0.123456 ), 0.123456 )
261+ self .assertEqual (validator .__call__ (- 0.012 ), - 0.012 )
262+ self .assertRaises (ValueError , validator .__call__ , - 1.1 )
263+ self .assertRaises (ValueError , validator .__call__ , 100.123456 )
264+ self .assertRaises (ValueError , validator .__call__ , maxsize + 1 )
265+
266+ return
208267
209268 def test_list (self ):
210269
0 commit comments