Skip to content

Commit 5267fea

Browse files
authored
Merge pull request #424 from splunk/float_validator_test_fix
Float validator test fix
2 parents 6b0d620 + 87bb920 commit 5267fea

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

tests/searchcommands/test_decorators.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,7 @@ def test_option(self):
381381
validators.Fieldname: ('some.field_name', 'non-fieldname value'),
382382
validators.File: (__file__, 'non-existent file'),
383383
validators.Integer: ('100', 'non-integer value'),
384+
validators.Float: ('99.9', 'non-float value'),
384385
validators.List: ('a,b,c', '"non-list value'),
385386
validators.Map: ('foo', 'non-existent map entry'),
386387
validators.Match: ('123-45-6789', 'not a social security number'),
@@ -459,17 +460,17 @@ def test_option(self):
459460
self.assertEqual(expected[x.name], x.value.pattern)
460461
elif isinstance(x.value, TextIOWrapper):
461462
self.assertEqual(expected[x.name], "'%s'" % x.value.name)
462-
elif not isinstance(x.value, (bool,) + (six.text_type,) + (six.binary_type,) + tuplewrap(six.integer_types)):
463+
elif not isinstance(x.value, (bool,) + (float,) + (six.text_type,) + (six.binary_type,) + tuplewrap(six.integer_types)):
463464
self.assertEqual(expected[x.name], repr(x.value))
464465
else:
465466
self.assertEqual(expected[x.name], x.value)
466467

467468
expected = (
468469
'foo="f" boolean="f" code="foo == \\"bar\\"" duration="24:59:59" fieldname="some.field_name" '
469-
'file=' + json_encode_string(__file__) + ' integer="100" float="99.9" map="foo" match="123-45-6789" '
470+
'file=' + json_encode_string(__file__) + ' float="99.9" integer="100" map="foo" match="123-45-6789" '
470471
'optionname="some_option_name" record="f" regularexpression="\\\\s+" required_boolean="f" '
471472
'required_code="foo == \\"bar\\"" required_duration="24:59:59" required_fieldname="some.field_name" '
472-
'required_file=' + json_encode_string(__file__) + ' required_integer="100" required_float="99.9" required_map="foo" '
473+
'required_file=' + json_encode_string(__file__) + ' required_float="99.9" required_integer="100" required_map="foo" '
473474
'required_match="123-45-6789" required_optionname="some_option_name" required_regularexpression="\\\\s+" '
474475
'required_set="bar" set="bar" show_configuration="f"')
475476

tests/searchcommands/test_validators.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,10 @@ def test(integer):
208208

209209
def test_float(self):
210210
# Float validator test
211+
import random
211212

212-
maxsize = sys.maxsize
213-
minsize = -(sys.maxsize - 1)
213+
maxsize = random.random() + 1
214+
minsize = random.random() - 1
214215

215216
validator = validators.Float()
216217

@@ -221,7 +222,7 @@ def test(float_val):
221222
assert False
222223
for s in str(float_val), six.text_type(float_val):
223224
value = validator.__call__(s)
224-
self.assertEqual(value, float_val)
225+
self.assertAlmostEqual(value, float_val)
225226
self.assertIsInstance(value, float)
226227
self.assertEqual(validator.format(float_val), six.text_type(float_val))
227228

@@ -240,27 +241,25 @@ def test(float_val):
240241
self.assertEqual(validator.__call__(0), 0)
241242
self.assertEqual(validator.__call__(1.154), 1.154)
242243
self.assertEqual(validator.__call__(888.51), 888.51)
243-
self.assertEqual(validator.__call__(2 * maxsize), float(2 * maxsize))
244+
self.assertEqual(validator.__call__(2 * maxsize), (2 * maxsize))
244245
self.assertRaises(ValueError, validator.__call__, -1)
245246
self.assertRaises(ValueError, validator.__call__, -1111.00578)
246247
self.assertRaises(ValueError, validator.__call__, -0.005)
247248

248249
validator = validators.Float(minimum=1, maximum=maxsize)
249250
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))
251+
self.assertEqual(validator.__call__(maxsize), maxsize)
253252
self.assertRaises(ValueError, validator.__call__, 0)
254253
self.assertRaises(ValueError, validator.__call__, 0.9999)
255-
self.assertRaises(ValueError, validator.__call__, -199)
256254
self.assertRaises(ValueError, validator.__call__, maxsize + 1)
257255

258-
validator = validators.Float(minimum=-1, maximum=1)
259-
self.assertEqual(validator.__call__(0), float(0))
256+
validator = validators.Float(minimum=minsize, maximum=maxsize)
257+
self.assertEqual(validator.__call__(minsize), minsize)
260258
self.assertEqual(validator.__call__(0.123456), 0.123456)
259+
self.assertEqual(validator.__call__(0), float(0))
261260
self.assertEqual(validator.__call__(-0.012), -0.012)
262-
self.assertRaises(ValueError, validator.__call__, -1.1)
263-
self.assertRaises(ValueError, validator.__call__, 100.123456)
261+
self.assertEqual(validator.__call__(maxsize), maxsize)
262+
self.assertRaises(ValueError, validator.__call__, minsize - 1)
264263
self.assertRaises(ValueError, validator.__call__, maxsize + 1)
265264

266265
return

0 commit comments

Comments
 (0)