From 52392a10ae713a04d4a793e5181fc5fc802805f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20V=C3=A9zina?= Date: Thu, 24 Mar 2016 10:15:41 -0400 Subject: [PATCH] Improve PEP8 just a bit + more coverage --- gluon/tests/test_validators.py | 115 +++++++++++++++++---------------- 1 file changed, 59 insertions(+), 56 deletions(-) diff --git a/gluon/tests/test_validators.py b/gluon/tests/test_validators.py index 8bcbacdd..5005cbfd 100644 --- a/gluon/tests/test_validators.py +++ b/gluon/tests/test_validators.py @@ -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()