tests/telnumber.py
branchdevel
changeset 128 1a3ebdd3bdaf
parent 39 31a2b1cd4981
child 129 d6704178a18f
equal deleted inserted replaced
127:79966b937274 128:1a3ebdd3bdaf
       
     1 import unittest
       
     2 
       
     3 from iro.validate import vTel
       
     4 from iro.error import NotATelNumber
       
     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.failUnlessEqual(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(NotATelNumber) as e:
       
    23                 vTel([number], None)
       
    24             self.failUnlessEqual(e.exception.number,number)
       
    25 
       
    26         with self.assertRaises(NotATelNumber) as e:
       
    27             vTel(['01234']+numbers, None)
       
    28         self.failUnlessEqual(e.exception.number,numbers[0])
       
    29 
       
    30     def equalNumber(self, tel1, tel2):
       
    31         self.failUnlessEqual(tel1.number, tel2.number)
       
    32         self.failUnlessEqual(tel1.land, tel2.land)
       
    33         
       
    34     def testWrongNumber(self):
       
    35         telnum=Telnumber()
       
    36         self.assertRaises(NotATelNumber, telnum.createNumber,  "hallo")
       
    37         self.assertRaises(NotATelNumber, telnum.createNumber,  "0?242")
       
    38         
       
    39    
       
    40     def testNumber(self):
       
    41         telnum=Telnumber("0551-28293640")
       
    42         telnum2=Telnumber("+49551/28293640")
       
    43         telnum3=Telnumber("00495512829364-0")
       
    44         telnum4=Telnumber("+49(0)551-28293640")
       
    45         
       
    46         self.failUnlessEqual(telnum.land, "49")
       
    47         self.failUnlessEqual(telnum.number, "55128293640")
       
    48         
       
    49         self.equalNumber(telnum, telnum2)
       
    50         self.equalNumber(telnum, telnum3)
       
    51         self.equalNumber(telnum, telnum4)
       
    52 
       
    53     def testEqual(self):
       
    54         telnum=Telnumber("0551-28293640")
       
    55         telnum2=Telnumber("+49551/28293640")
       
    56         li=[]
       
    57         self.failUnlessEqual(telnum == telnum2, True)
       
    58         self.failUnlessEqual(telnum <> telnum2, False)
       
    59         self.failUnlessEqual(telnum,  telnum2)
       
    60         self.failUnlessEqual(telnum in li,False)
       
    61         li.append(telnum)
       
    62         self.failUnlessEqual(telnum in li,True)
       
    63         self.failUnlessEqual(telnum2 in li,True)