--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/validate.py Wed Feb 08 14:19:46 2012 +0100
@@ -0,0 +1,69 @@
+import unittest
+
+from iro.validate import vBool, vInteger, vHash
+from iro.error import ValidateException
+
+class testValidators(unittest.TestCase):
+ '''test for simple validators'''
+
+ def testBool(self):
+ self.assertEqual(vBool(True,None),True)
+ self.assertEqual(vBool(1,None),True)
+ self.assertEqual(vBool("true",None),True)
+ self.assertEqual(vBool("True",None),True)
+ self.assertEqual(vBool("TRUE",None),True)
+
+ self.assertEqual(vBool(False,None),False)
+ self.assertEqual(vBool(0,None),False)
+ self.assertEqual(vBool("false",None),False)
+ self.assertEqual(vBool("False",None),False)
+ self.assertEqual(vBool("FALSE",None),False)
+
+ with self.assertRaises(ValidateException) as e:
+ vBool("TRue","test")
+ self.assertEqual(e.exception.msg,"test is not boolean")
+
+ def testInteger(self):
+ self.assertEqual(vInteger(123,None),123)
+ self.assertEqual(vInteger("123",None),123)
+ self.assertEqual(vInteger("-123",None),-123)
+
+ with self.assertRaises(ValidateException):
+ vInteger("a123",None)
+
+ def testIntegerLimits(self):
+ self.assertEqual(vInteger(10,None,maxv=10),10)
+ with self.assertRaises(ValidateException):
+ vInteger(11,None,maxv=10)
+
+ self.assertEqual(vInteger(4,None,minv=4),4)
+ with self.assertRaises(ValidateException):
+ vInteger(3,None,minv=4)
+
+ def testIntegerNoneAllowed(self):
+ self.assertEqual(vInteger(None,None,none_allowed=True),None)
+ self.assertEqual(vInteger('',None,none_allowed=True),None)
+
+ with self.assertRaises(ValidateException):
+ vInteger("",None)
+
+ with self.assertRaises(ValidateException):
+ vInteger(None,None)
+
+ def testHash(self):
+ self.assertEqual(vHash("0123456789abcdef",None),"0123456789abcdef")
+ self.assertEqual(vHash("0123456789ABCDEF",None),"0123456789abcdef")
+ self.assertEqual(vHash("F",None),"f")
+ self.assertEqual(vHash("",None),'')
+
+ with self.assertRaises(ValidateException):
+ vHash("GHIJKL",None)
+
+ def testHashLimits(self):
+ self.assertEqual(vHash("F",None,minlength=1),"f")
+ with self.assertRaises(ValidateException):
+ vHash("",None, minlength=1)
+
+ self.assertEqual(vHash("Fa",None,maxlength=2),"fa")
+ with self.assertRaises(ValidateException):
+ vHash("123",None, maxlength=1)