# HG changeset patch # User Sandro Knauß # Date 1327955772 -3600 # Node ID 1a3ebdd3bdafb75834be28681255dd5328a49580 # Parent 79966b93727408d74332532d05eb53b91eb1faf8 telnumber test in own file diff -r 79966b937274 -r 1a3ebdd3bdaf iro/anbieter/tests/testTelnumber.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ß - -#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 . - -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() - - diff -r 79966b937274 -r 1a3ebdd3bdaf iro/error.py --- 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) diff -r 79966b937274 -r 1a3ebdd3bdaf tests/telnumber.py --- /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) diff -r 79966b937274 -r 1a3ebdd3bdaf tests/xmlrpc.py --- 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):