telnumber test in own file devel
authorSandro Knauß <knauss@netzguerilla.net>
Mon, 30 Jan 2012 21:36:12 +0100
branchdevel
changeset 128 1a3ebdd3bdaf
parent 127 79966b937274
child 129 d6704178a18f
telnumber test in own file
iro/anbieter/tests/testTelnumber.py
iro/error.py
tests/telnumber.py
tests/xmlrpc.py
--- a/iro/anbieter/tests/testTelnumber.py	Mon Jan 30 21:02:03 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-# -*- coding: utf-8 -*-
-#Copyright (C) 2009  Sandro Knauß <bugs@sandroknauss.de>
-
-#This program is free software; you can redistribute it and/or modify it under the terms
-#of the GNU General Public License as published by the Free Software Foundation;
-#either version 3 of the License, or any later version.
-#This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-#without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#See the GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-class anbieter:
-    default_conf = ''    # override this
-
-import unittest
-import iro.anbieter.telnumber as tn
-
-class TestTelnumber(unittest.TestCase):
-    def equalNumber(self, tel1, tel2):
-        self.assertEqual(tel1.number, tel2.number)
-        self.assertEqual(tel1.land, tel2.land)
-        
-    def testWrongNumber(self):
-        telnum=tn.telnumber()
-        self.assertRaises(tn.NotATelNumber, telnum.createNumber,  "hallo")
-        self.assertRaises(tn.NotATelNumber, telnum.createNumber,  "0?242")
-        
-   
-    def testNumber(self):
-        telnum=tn.telnumber("0551-28293640")
-        telnum2=tn.telnumber("+49551/28293640")
-        telnum3=tn.telnumber("00495512829364-0")
-        telnum4=tn.telnumber("+49(0)551-28293640")
-        
-        self.assertEqual(telnum.land, "49")
-        self.assertEqual(telnum.number, "55128293640")
-        
-        self.equalNumber(telnum, telnum2)
-        self.equalNumber(telnum, telnum3)
-        self.equalNumber(telnum, telnum4)
-
-    def testEqual(self):
-        telnum=tn.telnumber("0551-28293640")
-        telnum2=tn.telnumber("+49551/28293640")
-        li=[]
-        self.assertEqual(telnum == telnum2, True)
-        self.assertEqual(telnum <> telnum2, False)
-        self.assertEqual(telnum,  telnum2)
-        self.assertEqual(telnum in li,False)
-        li.append(telnum)
-        self.assertEqual(telnum in li,True)
-        self.assertEqual(telnum in li,True)
-
-if __name__ == "__main__":
-    unittest.main()  
-	
-
--- a/iro/error.py	Mon Jan 30 21:02:03 2012 +0100
+++ b/iro/error.py	Mon Jan 30 21:36:12 2012 +0100
@@ -42,10 +42,12 @@
 
 class NotATelNumber(ValidateException):
     def __init__(self, number,field=None):
+        self.number = number
         msg = "No valid telnumber: '%s'"%(number)
         ValidateException.__init__(self, 701, field, msg)
     
 class InvalidMail(ValidateException):
     def __init__(self, number,field=None):
+        self.number = number
         msg = "No valid email: '%s'"%(number)
         ValidateException.__init__(self, 702, field, msg)
--- /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)
--- a/tests/xmlrpc.py	Mon Jan 30 21:02:03 2012 +0100
+++ b/tests/xmlrpc.py	Mon Jan 30 21:36:12 2012 +0100
@@ -175,19 +175,14 @@
     def testTelnumbers(self):
         '''test the telefon validator'''
         self.failUnlessEqual(self.__rpc2().telnumber(["0123/456(78)","+4912346785433","00123435456-658"]),True)
-        numbers=['xa','+1','1-23',';:+0','0123']
-        for number in numbers:
-            with self.assertRaises(Fault) as fault:
-                self.__rpc2().telnumber([number])
-            exc = fault.exception
-            self.failUnlessEqual(exc.faultCode, 701)
-            self.failUnlessEqual(exc.faultString, "No valid telnumber: '%s'"%number)
+
+        invalid=['xa','+1','1-23',';:+0','0123']
 
         with self.assertRaises(Fault) as fault:
-            self.__rpc2().telnumber(['01234']+numbers)
+            self.__rpc2().telnumber(['01234']+invalid)
         exc = fault.exception
         self.failUnlessEqual(exc.faultCode, 701)
-        self.failUnlessEqual(exc.faultString, "No valid telnumber: '%s'"%numbers[0])
+        self.failUnlessEqual(exc.faultString, "No valid telnumber: '%s'"%invalid[0])
 
 
     def testVaildEmail(self):