tests/telnumber.py
branchdevel
changeset 128 1a3ebdd3bdaf
parent 39 31a2b1cd4981
child 129 d6704178a18f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/telnumber.py	Mon Jan 30 21:36:12 2012 +0100
@@ -0,0 +1,63 @@
+import unittest
+
+from iro.validate import vTel
+from iro.error import NotATelNumber
+from iro.telnumber import Telnumber
+
+class testTelefonnumbers(unittest.TestCase):
+    """tests for telefonnumbers"""
+
+    def testMultipleTelnumbers(self):
+        '''test the telefon validator'''
+        ret = vTel(["0123/456(78)","+4912346785433","00123435456-658"], None)
+        x=[Telnumber('+4912345678'),Telnumber('012346785433'),Telnumber('+123435456658')]
+        self.failUnlessEqual(ret,x)
+
+    def testInvalidTelnumbers(self):
+        '''invalid telnumbers'''
+        
+        numbers=['xa','+1','1-23',';:+0','0123']
+        
+        for number in numbers:
+            with self.assertRaises(NotATelNumber) as e:
+                vTel([number], None)
+            self.failUnlessEqual(e.exception.number,number)
+
+        with self.assertRaises(NotATelNumber) as e:
+            vTel(['01234']+numbers, None)
+        self.failUnlessEqual(e.exception.number,numbers[0])
+
+    def equalNumber(self, tel1, tel2):
+        self.failUnlessEqual(tel1.number, tel2.number)
+        self.failUnlessEqual(tel1.land, tel2.land)
+        
+    def testWrongNumber(self):
+        telnum=Telnumber()
+        self.assertRaises(NotATelNumber, telnum.createNumber,  "hallo")
+        self.assertRaises(NotATelNumber, telnum.createNumber,  "0?242")
+        
+   
+    def testNumber(self):
+        telnum=Telnumber("0551-28293640")
+        telnum2=Telnumber("+49551/28293640")
+        telnum3=Telnumber("00495512829364-0")
+        telnum4=Telnumber("+49(0)551-28293640")
+        
+        self.failUnlessEqual(telnum.land, "49")
+        self.failUnlessEqual(telnum.number, "55128293640")
+        
+        self.equalNumber(telnum, telnum2)
+        self.equalNumber(telnum, telnum3)
+        self.equalNumber(telnum, telnum4)
+
+    def testEqual(self):
+        telnum=Telnumber("0551-28293640")
+        telnum2=Telnumber("+49551/28293640")
+        li=[]
+        self.failUnlessEqual(telnum == telnum2, True)
+        self.failUnlessEqual(telnum <> telnum2, False)
+        self.failUnlessEqual(telnum,  telnum2)
+        self.failUnlessEqual(telnum in li,False)
+        li.append(telnum)
+        self.failUnlessEqual(telnum in li,True)
+        self.failUnlessEqual(telnum2 in li,True)