diff -r 448dd8d36839 -r 3929338fd17f iro/tests/telnumber.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/iro/tests/telnumber.py Sun Mar 18 14:06:27 2012 +0100 @@ -0,0 +1,80 @@ +import unittest + +from iro.validate import vTel +from iro.error import InvalidTel +from iro.telnumber import Telnumber + +class testTelefonnumbers(unittest.TestCase): + """tests for telefonnumbers""" + + def testMultipleTelnumbers(self): + '''test the telefon validator''' + ret = vTel(["0123/456(78)","+4912346785433","00123435456-658"], None) + x=[Telnumber('+4912345678'),Telnumber('012346785433'),Telnumber('+123435456658')] + self.assertEqual(ret,x) + + def testInvalidTelnumbers(self): + '''invalid telnumbers''' + + numbers=['xa','+1','1-23',';:+0','0123'] + + for number in numbers: + with self.assertRaises(InvalidTel) as e: + vTel([number], None) + self.assertEqual(e.exception.number,number) + + with self.assertRaises(InvalidTel) as e: + vTel(['01234']+numbers, None) + self.assertEqual(e.exception.number,numbers[0]) + + def testDoubles(self): + ret = vTel(["0123/456(78)","+4912345678","004912345678"], None) + x=[Telnumber('+4912345678')] + self.assertEqual(ret,x) + + def equalNumber(self, tel1, tel2): + self.assertEqual(tel1.number, tel2.number) + self.assertEqual(tel1.land, tel2.land) + + def testWrongNumber(self): + telnum=Telnumber() + self.assertRaises(InvalidTel, telnum.createNumber, "hallo") + self.assertRaises(InvalidTel, telnum.createNumber, "0?242") + + def testNumber(self): + telnum=Telnumber("0345-94103640") + telnum2=Telnumber("+49345/94103640") + telnum3=Telnumber("00493459410364-0") + telnum4=Telnumber("+49(0)345-94103640") + + self.assertEqual(telnum.land, "49") + self.assertEqual(telnum.number, "34594103640") + + self.equalNumber(telnum, telnum2) + self.equalNumber(telnum, telnum3) + self.equalNumber(telnum, telnum4) + + def testEqual(self): + telnum=Telnumber("0345-94103640") + telnum2=Telnumber("+49345/94103640") + li=[] + self.assertEqual(telnum == telnum2, True) + self.assertEqual(telnum <> telnum2, False) + self.assertEqual(telnum, telnum2) + self.assertEqual(telnum in li,False) + li.append(telnum) + self.assertEqual(telnum in li,True) + self.assertEqual(telnum2 in li,True) + + def testHash(self): + telnum=Telnumber("0345-94103640") + self.assertEqual(hash(telnum),hash("004934594103640")) + self.assertNotEqual(hash(telnum),hash("004934594103641")) + + def testString(self): + telnum=Telnumber("0345-94103640") + self.assertEqual(str(telnum),"004934594103640") + + def testRepr(self): + telnum=Telnumber("0345-94103640") + self.assertEqual(repr(telnum),"")