iro/tests/telnumber.py
branchdevel
changeset 231 3929338fd17f
parent 197 73b11797781b
child 282 50cc13814bfb
equal deleted inserted replaced
230:448dd8d36839 231:3929338fd17f
       
     1 import unittest
       
     2 
       
     3 from iro.validate import vTel
       
     4 from iro.error import InvalidTel
       
     5 from iro.telnumber import Telnumber
       
     6 
       
     7 class testTelefonnumbers(unittest.TestCase):
       
     8     """tests for telefonnumbers"""
       
     9 
       
    10     def testMultipleTelnumbers(self):
       
    11         '''test the telefon validator'''
       
    12         ret = vTel(["0123/456(78)","+4912346785433","00123435456-658"], None)
       
    13         x=[Telnumber('+4912345678'),Telnumber('012346785433'),Telnumber('+123435456658')]
       
    14         self.assertEqual(ret,x)
       
    15 
       
    16     def testInvalidTelnumbers(self):
       
    17         '''invalid telnumbers'''
       
    18         
       
    19         numbers=['xa','+1','1-23',';:+0','0123']
       
    20         
       
    21         for number in numbers:
       
    22             with self.assertRaises(InvalidTel) as e:
       
    23                 vTel([number], None)
       
    24             self.assertEqual(e.exception.number,number)
       
    25 
       
    26         with self.assertRaises(InvalidTel) as e:
       
    27             vTel(['01234']+numbers, None)
       
    28         self.assertEqual(e.exception.number,numbers[0])
       
    29 
       
    30     def testDoubles(self):
       
    31         ret = vTel(["0123/456(78)","+4912345678","004912345678"], None)
       
    32         x=[Telnumber('+4912345678')]
       
    33         self.assertEqual(ret,x)
       
    34 
       
    35     def equalNumber(self, tel1, tel2):
       
    36         self.assertEqual(tel1.number, tel2.number)
       
    37         self.assertEqual(tel1.land, tel2.land)
       
    38         
       
    39     def testWrongNumber(self):
       
    40         telnum=Telnumber()
       
    41         self.assertRaises(InvalidTel, telnum.createNumber,  "hallo")
       
    42         self.assertRaises(InvalidTel, telnum.createNumber,  "0?242")
       
    43    
       
    44     def testNumber(self):
       
    45         telnum=Telnumber("0345-94103640")
       
    46         telnum2=Telnumber("+49345/94103640")
       
    47         telnum3=Telnumber("00493459410364-0")
       
    48         telnum4=Telnumber("+49(0)345-94103640")
       
    49         
       
    50         self.assertEqual(telnum.land, "49")
       
    51         self.assertEqual(telnum.number, "34594103640")
       
    52         
       
    53         self.equalNumber(telnum, telnum2)
       
    54         self.equalNumber(telnum, telnum3)
       
    55         self.equalNumber(telnum, telnum4)
       
    56 
       
    57     def testEqual(self):
       
    58         telnum=Telnumber("0345-94103640")
       
    59         telnum2=Telnumber("+49345/94103640")
       
    60         li=[]
       
    61         self.assertEqual(telnum == telnum2, True)
       
    62         self.assertEqual(telnum <> telnum2, False)
       
    63         self.assertEqual(telnum,  telnum2)
       
    64         self.assertEqual(telnum in li,False)
       
    65         li.append(telnum)
       
    66         self.assertEqual(telnum in li,True)
       
    67         self.assertEqual(telnum2 in li,True)
       
    68 
       
    69     def testHash(self):
       
    70         telnum=Telnumber("0345-94103640")
       
    71         self.assertEqual(hash(telnum),hash("004934594103640"))
       
    72         self.assertNotEqual(hash(telnum),hash("004934594103641"))
       
    73 
       
    74     def testString(self):
       
    75         telnum=Telnumber("0345-94103640")
       
    76         self.assertEqual(str(telnum),"004934594103640")
       
    77 
       
    78     def testRepr(self):
       
    79         telnum=Telnumber("0345-94103640") 
       
    80         self.assertEqual(repr(telnum),"<Telnumber 004934594103640>")