Merge "Fix default handling for zero values"
This commit is contained in:
commit
c6f2b4b831
@ -18,7 +18,7 @@ ARRAY_MAX_SIZE = 1000
|
||||
|
||||
@generic
|
||||
def from_param(datatype, value):
|
||||
return datatype(value) if value else None
|
||||
return datatype(value) if value is not None else None
|
||||
|
||||
|
||||
@from_param.when_object(datetime.date)
|
||||
|
@ -75,3 +75,32 @@ class TestProtocolsCommons(unittest.TestCase):
|
||||
assert fake_type.name in str(e)
|
||||
else:
|
||||
self.fail('Should have thrown an InvalidInput')
|
||||
|
||||
|
||||
class ArgTypeConversion(unittest.TestCase):
|
||||
|
||||
def test_int_zero(self):
|
||||
self.assertEqual(0, from_param(int, 0))
|
||||
self.assertEqual(0, from_param(int, '0'))
|
||||
|
||||
def test_int_nonzero(self):
|
||||
self.assertEqual(1, from_param(int, 1))
|
||||
self.assertEqual(1, from_param(int, '1'))
|
||||
|
||||
def test_int_none(self):
|
||||
self.assertEqual(None, from_param(int, None))
|
||||
|
||||
def test_float_zero(self):
|
||||
self.assertEqual(0.0, from_param(float, 0))
|
||||
self.assertEqual(0.0, from_param(float, 0.0))
|
||||
self.assertEqual(0.0, from_param(float, '0'))
|
||||
self.assertEqual(0.0, from_param(float, '0.0'))
|
||||
|
||||
def test_float_nonzero(self):
|
||||
self.assertEqual(1.0, from_param(float, 1))
|
||||
self.assertEqual(1.0, from_param(float, 1.0))
|
||||
self.assertEqual(1.0, from_param(float, '1'))
|
||||
self.assertEqual(1.0, from_param(float, '1.0'))
|
||||
|
||||
def test_float_none(self):
|
||||
self.assertEqual(None, from_param(float, None))
|
||||
|
Loading…
x
Reference in New Issue
Block a user