1
0
Fork 0
mirror of https://github.com/yweber/lodel2.git synced 2026-06-07 03:20:48 +02:00

Added unit tests for the Integer Datahandler

This commit is contained in:
Roland Haroutiounian 2016-08-18 12:08:01 +02:00
commit 0a6c5c96bd
2 changed files with 31 additions and 1 deletions

View file

@ -37,7 +37,11 @@ class Integer(DataField):
def _check_data_value(self, value):
error = None
try:
value = int(value)
value = float(value)
if value % 1 == 0:
value = int(value)
else:
raise TypeError()
except(ValueError, TypeError):
error = TypeError("The value '%s' is not, and will never, be an integer" % value)
return value, error

View file

@ -0,0 +1,26 @@
import unittest
from lodel.leapi.datahandlers.datas import Integer, Boolean
class IntegerTestCase(unittest.TestCase):
def test_integer_check_data_value(self):
test_int = Integer()
# Incorrect values
for test_bad_value in ['ok','ceci est un test', '15.2', 15.2]:
_, error = test_int._check_data_value(test_bad_value)
self.assertIsNotNone(error)
print(test_bad_value)
# Correct values
for test_correct_value in [10, '15', '15.0']:
_, error = test_int._check_data_value(test_correct_value)
self.assertIsNone(error)
print(test_correct_value)
def test_can_override(self):
test_int = Integer()
test_boolean = Boolean()
self.assertFalse(test_int.can_override(test_boolean))