Merge pull request #1246 from BuhtigithuB/improve-test-validators

Improve PEP8 just a bit + more coverage
This commit is contained in:
mdipierro
2016-03-24 12:10:17 -05:00
+59 -56
View File
@@ -216,51 +216,54 @@ class TestValidators(unittest.TestCase):
db.person.drop()
def test_IS_INT_IN_RANGE(self):
rtn = IS_INT_IN_RANGE(1,5)('4')
rtn = IS_INT_IN_RANGE(1, 5)('4')
self.assertEqual(rtn, (4, None))
rtn = IS_INT_IN_RANGE(1,5)(4)
rtn = IS_INT_IN_RANGE(1, 5)(4)
self.assertEqual(rtn, (4, None))
rtn = IS_INT_IN_RANGE(1,5)(1)
rtn = IS_INT_IN_RANGE(1, 5)(1)
self.assertEqual(rtn, (1, None))
rtn = IS_INT_IN_RANGE(1,5)(5)
rtn = IS_INT_IN_RANGE(1, 5)(5)
self.assertEqual(rtn, (5, 'Enter an integer between 1 and 4'))
rtn = IS_INT_IN_RANGE(1,5)(5)
rtn = IS_INT_IN_RANGE(1, 5)(5)
self.assertEqual(rtn, (5, 'Enter an integer between 1 and 4'))
rtn = IS_INT_IN_RANGE(1,5)(3.5)
rtn = IS_INT_IN_RANGE(1, 5)(3.5)
self.assertEqual(rtn, (3.5, 'Enter an integer between 1 and 4'))
rtn = IS_INT_IN_RANGE(None,5)('4')
rtn = IS_INT_IN_RANGE(None, 5)('4')
self.assertEqual(rtn, (4, None))
rtn = IS_INT_IN_RANGE(None,5)('6')
rtn = IS_INT_IN_RANGE(None, 5)('6')
self.assertEqual(rtn, ('6', 'Enter an integer less than or equal to 4'))
rtn = IS_INT_IN_RANGE(1,None)('4')
rtn = IS_INT_IN_RANGE(1, None)('4')
self.assertEqual(rtn, (4, None))
rtn = IS_INT_IN_RANGE(1,None)('0')
rtn = IS_INT_IN_RANGE(1, None)('0')
self.assertEqual(rtn, ('0', 'Enter an integer greater than or equal to 1'))
rtn = IS_INT_IN_RANGE()(6)
rtn = IS_INT_IN_RANGE()(6)
self.assertEqual(rtn, (6, None))
rtn = IS_INT_IN_RANGE()('abc')
rtn = IS_INT_IN_RANGE()('abc')
self.assertEqual(rtn, ('abc', 'Enter an integer'))
def test_IS_FLOAT_IN_RANGE(self):
rtn = IS_FLOAT_IN_RANGE(1,5)('4')
# with None
rtn = IS_FLOAT_IN_RANGE(1, 5)(None)
self.assertEqual(rtn, (None, 'Enter a number between 1 and 5'))
rtn = IS_FLOAT_IN_RANGE(1, 5)('4')
self.assertEqual(rtn, (4.0, None))
rtn = IS_FLOAT_IN_RANGE(1,5)(4)
rtn = IS_FLOAT_IN_RANGE(1, 5)(4)
self.assertEqual(rtn, (4.0, None))
rtn = IS_FLOAT_IN_RANGE(1,5)(1)
rtn = IS_FLOAT_IN_RANGE(1, 5)(1)
self.assertEqual(rtn, (1.0, None))
rtn = IS_FLOAT_IN_RANGE(1,5)(5.25)
rtn = IS_FLOAT_IN_RANGE(1, 5)(5.25)
self.assertEqual(rtn, (5.25, 'Enter a number between 1 and 5'))
rtn = IS_FLOAT_IN_RANGE(1,5)(6.0)
rtn = IS_FLOAT_IN_RANGE(1, 5)(6.0)
self.assertEqual(rtn, (6.0, 'Enter a number between 1 and 5'))
rtn = IS_FLOAT_IN_RANGE(1,5)(3.5)
rtn = IS_FLOAT_IN_RANGE(1, 5)(3.5)
self.assertEqual(rtn, (3.5, None))
rtn = IS_FLOAT_IN_RANGE(1,None)(3.5)
rtn = IS_FLOAT_IN_RANGE(1, None)(3.5)
self.assertEqual(rtn, (3.5, None))
rtn = IS_FLOAT_IN_RANGE(None,5)(3.5)
rtn = IS_FLOAT_IN_RANGE(None, 5)(3.5)
self.assertEqual(rtn, (3.5, None))
rtn = IS_FLOAT_IN_RANGE(1,None)(0.5)
rtn = IS_FLOAT_IN_RANGE(1, None)(0.5)
self.assertEqual(rtn, (0.5, 'Enter a number greater than or equal to 1'))
rtn = IS_FLOAT_IN_RANGE(None,5)(6.5)
rtn = IS_FLOAT_IN_RANGE(None, 5)(6.5)
self.assertEqual(rtn, (6.5, 'Enter a number less than or equal to 5'))
rtn = IS_FLOAT_IN_RANGE()(6.5)
self.assertEqual(rtn, (6.5, None))
@@ -270,54 +273,66 @@ class TestValidators(unittest.TestCase):
self.assertEqual(rtn, ('6,5', 'Enter a number'))
rtn = IS_FLOAT_IN_RANGE(dot=',')('6.5')
self.assertEqual(rtn, (6.5, None))
# With .formatter(None)
rtn = IS_FLOAT_IN_RANGE(dot=',').formatter(None)
self.assertEqual(rtn, None)
rtn = IS_FLOAT_IN_RANGE(dot=',').formatter(0.25)
self.assertEqual(rtn, '0,25')
# To trigger str2dec "if not '.' in s:" line
rtn = IS_FLOAT_IN_RANGE(dot=',').formatter(1)
self.assertEqual(rtn, '1,00')
def test_IS_DECIMAL_IN_RANGE(self):
rtn = IS_DECIMAL_IN_RANGE(1,5)('4')
# with None
rtn = IS_DECIMAL_IN_RANGE(1, 5)(None)
self.assertEqual(rtn, (None, 'Enter a number between 1 and 5'))
rtn = IS_DECIMAL_IN_RANGE(1, 5)('4')
self.assertEqual(rtn, (decimal.Decimal('4'), None))
rtn = IS_DECIMAL_IN_RANGE(1,5)(4)
rtn = IS_DECIMAL_IN_RANGE(1, 5)(4)
self.assertEqual(rtn, (decimal.Decimal('4'), None))
rtn = IS_DECIMAL_IN_RANGE(1,5)(1)
rtn = IS_DECIMAL_IN_RANGE(1, 5)(1)
self.assertEqual(rtn, (decimal.Decimal('1'), None))
rtn = IS_DECIMAL_IN_RANGE(1,5)(5.25)
rtn = IS_DECIMAL_IN_RANGE(1, 5)(5.25)
self.assertEqual(rtn, (5.25, 'Enter a number between 1 and 5'))
rtn = IS_DECIMAL_IN_RANGE(5.25,6)(5.25)
rtn = IS_DECIMAL_IN_RANGE(5.25, 6)(5.25)
self.assertEqual(rtn, (decimal.Decimal('5.25'), None))
rtn = IS_DECIMAL_IN_RANGE(5.25,6)('5.25')
rtn = IS_DECIMAL_IN_RANGE(5.25, 6)('5.25')
self.assertEqual(rtn, (decimal.Decimal('5.25'), None))
rtn = IS_DECIMAL_IN_RANGE(1,5)(6.0)
rtn = IS_DECIMAL_IN_RANGE(1, 5)(6.0)
self.assertEqual(rtn, (6.0, 'Enter a number between 1 and 5'))
rtn = IS_DECIMAL_IN_RANGE(1,5)(3.5)
rtn = IS_DECIMAL_IN_RANGE(1, 5)(3.5)
self.assertEqual(rtn, (decimal.Decimal('3.5'), None))
rtn = IS_DECIMAL_IN_RANGE(1.5,5.5)(3.5)
rtn = IS_DECIMAL_IN_RANGE(1.5, 5.5)(3.5)
self.assertEqual(rtn, (decimal.Decimal('3.5'), None))
rtn = IS_DECIMAL_IN_RANGE(1.5,5.5)(6.5)
rtn = IS_DECIMAL_IN_RANGE(1.5, 5.5)(6.5)
self.assertEqual(rtn, (6.5, 'Enter a number between 1.5 and 5.5'))
rtn = IS_DECIMAL_IN_RANGE(1.5,None)(6.5)
rtn = IS_DECIMAL_IN_RANGE(1.5, None)(6.5)
self.assertEqual(rtn, (decimal.Decimal('6.5'), None))
rtn = IS_DECIMAL_IN_RANGE(1.5,None)(0.5)
rtn = IS_DECIMAL_IN_RANGE(1.5, None)(0.5)
self.assertEqual(rtn, (0.5, 'Enter a number greater than or equal to 1.5'))
rtn = IS_DECIMAL_IN_RANGE(None,5.5)(4.5)
rtn = IS_DECIMAL_IN_RANGE(None, 5.5)(4.5)
self.assertEqual(rtn, (decimal.Decimal('4.5'), None))
rtn = IS_DECIMAL_IN_RANGE(None,5.5)(6.5)
rtn = IS_DECIMAL_IN_RANGE(None, 5.5)(6.5)
self.assertEqual(rtn, (6.5, 'Enter a number less than or equal to 5.5'))
rtn = IS_DECIMAL_IN_RANGE()(6.5)
rtn = IS_DECIMAL_IN_RANGE()(6.5)
self.assertEqual(rtn, (decimal.Decimal('6.5'), None))
rtn = IS_DECIMAL_IN_RANGE(0,99)(123.123)
rtn = IS_DECIMAL_IN_RANGE(0, 99)(123.123)
self.assertEqual(rtn, (123.123, 'Enter a number between 0 and 99'))
rtn = IS_DECIMAL_IN_RANGE(0,99)('123.123')
rtn = IS_DECIMAL_IN_RANGE(0, 99)('123.123')
self.assertEqual(rtn, ('123.123', 'Enter a number between 0 and 99'))
rtn = IS_DECIMAL_IN_RANGE(0,99)('12.34')
rtn = IS_DECIMAL_IN_RANGE(0, 99)('12.34')
self.assertEqual(rtn, (decimal.Decimal('12.34'), None))
rtn = IS_DECIMAL_IN_RANGE()('abc')
rtn = IS_DECIMAL_IN_RANGE()('abc')
self.assertEqual(rtn, ('abc', 'Enter a number'))
rtn = IS_DECIMAL_IN_RANGE()('6,5')
self.assertEqual(rtn, ('6,5', 'Enter a number'))
rtn = IS_DECIMAL_IN_RANGE(dot=',')('6.5')
self.assertEqual(rtn, (decimal.Decimal('6.5'), None))
rtn = IS_DECIMAL_IN_RANGE(1,5)(decimal.Decimal('4'))
rtn = IS_DECIMAL_IN_RANGE(1, 5)(decimal.Decimal('4'))
self.assertEqual(rtn, (decimal.Decimal('4'), None))
# With .formatter(None)
rtn = IS_DECIMAL_IN_RANGE(dot=',').formatter(None)
self.assertEqual(rtn, None)
rtn = IS_DECIMAL_IN_RANGE(dot=',').formatter(0.25)
self.assertEqual(rtn, '0,25')
@@ -787,7 +802,7 @@ class TestValidators(unittest.TestCase):
self.assertEqual(rtn, (img, 'oops'))
rtn = IS_IMAGE(error_message='oops', minsize=(100, 50))(img)
self.assertEqual(rtn, (img, 'oops'))
img = DummyImageFile('test', 'jpeg', 50, 100)
rtn = IS_IMAGE()(img)
self.assertEqual(rtn, (img, None))
@@ -795,7 +810,7 @@ class TestValidators(unittest.TestCase):
self.assertEqual(rtn, (img, 'oops'))
rtn = IS_IMAGE(error_message='oops', minsize=(100, 50))(img)
self.assertEqual(rtn, (img, 'oops'))
img = DummyImageFile('test', 'png', 50, 100)
rtn = IS_IMAGE()(img)
self.assertEqual(rtn, (img, None))
@@ -964,7 +979,6 @@ this is the content of the fake file
rtn = IS_IPADDRESS()('aaa')
self.assertEqual(rtn, ('aaa', 'Enter valid IP address'))
rtn = IS_IPADDRESS()('fe80::126c:8ffa:fe22:b3af')
self.assertEqual(rtn, ('fe80::126c:8ffa:fe22:b3af', None))
rtn = IS_IPADDRESS(is_ipv4=False)('fe80::126c:8ffa:fe22:b3af')
@@ -1001,16 +1015,5 @@ this is the content of the fake file
self.assertEqual(rtn, ('2001::8ffa:fe22:b3af', 'invalid subnet provided'))
if __name__ == '__main__':
unittest.main()