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