iro/tests/telnumber.py
author Sandro Knauß <knauss@netzguerilla.net>
Fri, 06 Jul 2012 12:22:15 +0200
branchdevel
changeset 282 50cc13814bfb
parent 231 3929338fd17f
child 294 0e75bd39767d
permissions -rw-r--r--
make iro working with python v2.6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
282
50cc13814bfb make iro working with python v2.6
Sandro Knauß <knauss@netzguerilla.net>
parents: 231
diff changeset
     1
try:
50cc13814bfb make iro working with python v2.6
Sandro Knauß <knauss@netzguerilla.net>
parents: 231
diff changeset
     2
    import unittest
50cc13814bfb make iro working with python v2.6
Sandro Knauß <knauss@netzguerilla.net>
parents: 231
diff changeset
     3
    unittest.case
50cc13814bfb make iro working with python v2.6
Sandro Knauß <knauss@netzguerilla.net>
parents: 231
diff changeset
     4
except AttributeError:
50cc13814bfb make iro working with python v2.6
Sandro Knauß <knauss@netzguerilla.net>
parents: 231
diff changeset
     5
    import unittest2 as unittest
128
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
     6
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
     7
from iro.validate import vTel
129
d6704178a18f renaming NotATelNumber -> InvalidTel
Sandro Knauß <knauss@netzguerilla.net>
parents: 128
diff changeset
     8
from iro.error import InvalidTel
128
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
     9
from iro.telnumber import Telnumber
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    10
128
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    11
class testTelefonnumbers(unittest.TestCase):
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    12
    """tests for telefonnumbers"""
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    13
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    14
    def testMultipleTelnumbers(self):
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    15
        '''test the telefon validator'''
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    16
        ret = vTel(["0123/456(78)","+4912346785433","00123435456-658"], None)
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    17
        x=[Telnumber('+4912345678'),Telnumber('012346785433'),Telnumber('+123435456658')]
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    18
        self.assertEqual(ret,x)
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    19
128
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    20
    def testInvalidTelnumbers(self):
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    21
        '''invalid telnumbers'''
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    22
        
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    23
        numbers=['xa','+1','1-23',';:+0','0123']
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    24
        
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    25
        for number in numbers:
129
d6704178a18f renaming NotATelNumber -> InvalidTel
Sandro Knauß <knauss@netzguerilla.net>
parents: 128
diff changeset
    26
            with self.assertRaises(InvalidTel) as e:
128
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    27
                vTel([number], None)
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    28
            self.assertEqual(e.exception.number,number)
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    29
129
d6704178a18f renaming NotATelNumber -> InvalidTel
Sandro Knauß <knauss@netzguerilla.net>
parents: 128
diff changeset
    30
        with self.assertRaises(InvalidTel) as e:
128
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    31
            vTel(['01234']+numbers, None)
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    32
        self.assertEqual(e.exception.number,numbers[0])
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    33
167
374f34025fa1 validator now deleting doubles
Sandro Knauß <knauss@netzguerilla.net>
parents: 129
diff changeset
    34
    def testDoubles(self):
374f34025fa1 validator now deleting doubles
Sandro Knauß <knauss@netzguerilla.net>
parents: 129
diff changeset
    35
        ret = vTel(["0123/456(78)","+4912345678","004912345678"], None)
374f34025fa1 validator now deleting doubles
Sandro Knauß <knauss@netzguerilla.net>
parents: 129
diff changeset
    36
        x=[Telnumber('+4912345678')]
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    37
        self.assertEqual(ret,x)
167
374f34025fa1 validator now deleting doubles
Sandro Knauß <knauss@netzguerilla.net>
parents: 129
diff changeset
    38
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    39
    def equalNumber(self, tel1, tel2):
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    40
        self.assertEqual(tel1.number, tel2.number)
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    41
        self.assertEqual(tel1.land, tel2.land)
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    42
        
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    43
    def testWrongNumber(self):
128
1a3ebdd3bdaf telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents: 39
diff changeset
    44
        telnum=Telnumber()
129
d6704178a18f renaming NotATelNumber -> InvalidTel
Sandro Knauß <knauss@netzguerilla.net>
parents: 128
diff changeset
    45
        self.assertRaises(InvalidTel, telnum.createNumber,  "hallo")
d6704178a18f renaming NotATelNumber -> InvalidTel
Sandro Knauß <knauss@netzguerilla.net>
parents: 128
diff changeset
    46
        self.assertRaises(InvalidTel, telnum.createNumber,  "0?242")
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    47
   
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    48
    def testNumber(self):
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    49
        telnum=Telnumber("0345-94103640")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    50
        telnum2=Telnumber("+49345/94103640")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    51
        telnum3=Telnumber("00493459410364-0")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    52
        telnum4=Telnumber("+49(0)345-94103640")
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    53
        
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    54
        self.assertEqual(telnum.land, "49")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    55
        self.assertEqual(telnum.number, "34594103640")
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    56
        
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    57
        self.equalNumber(telnum, telnum2)
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    58
        self.equalNumber(telnum, telnum3)
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    59
        self.equalNumber(telnum, telnum4)
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    60
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    61
    def testEqual(self):
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    62
        telnum=Telnumber("0345-94103640")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    63
        telnum2=Telnumber("+49345/94103640")
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    64
        li=[]
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    65
        self.assertEqual(telnum == telnum2, True)
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    66
        self.assertEqual(telnum <> telnum2, False)
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    67
        self.assertEqual(telnum,  telnum2)
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    68
        self.assertEqual(telnum in li,False)
0
a3b6e531f0d2 [svn r93] creating iro package branch
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    69
        li.append(telnum)
197
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    70
        self.assertEqual(telnum in li,True)
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    71
        self.assertEqual(telnum2 in li,True)
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    72
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    73
    def testHash(self):
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    74
        telnum=Telnumber("0345-94103640")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    75
        self.assertEqual(hash(telnum),hash("004934594103640"))
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    76
        self.assertNotEqual(hash(telnum),hash("004934594103641"))
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    77
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    78
    def testString(self):
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    79
        telnum=Telnumber("0345-94103640")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    80
        self.assertEqual(str(telnum),"004934594103640")
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    81
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    82
    def testRepr(self):
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    83
        telnum=Telnumber("0345-94103640") 
73b11797781b tests for telnumber added
Sandro Knauß <knauss@netzguerilla.net>
parents: 167
diff changeset
    84
        self.assertEqual(repr(telnum),"<Telnumber 004934594103640>")