|
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>") |