fix link to about.
# Copyright (c) 2012 netzguerilla.net <iro@netzguerilla.net>
#
# This file is part of Iro.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to use,
# copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
# #Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
try:
import unittest
unittest.case
except AttributeError:
import unittest2 as unittest
from iro.validate import vTel
from iro.error import InvalidTel
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.assertEqual(ret,x)
def testInvalidTelnumbers(self):
'''invalid telnumbers'''
numbers=['xa','+1','1-23',';:+0','0123']
for number in numbers:
with self.assertRaises(InvalidTel) as e:
vTel([number], None)
self.assertEqual(e.exception.number,number)
with self.assertRaises(InvalidTel) as e:
vTel(['01234']+numbers, None)
self.assertEqual(e.exception.number,numbers[0])
def testDoubles(self):
ret = vTel(["0123/456(78)","+4912345678","004912345678"], None)
x=[Telnumber('+4912345678')]
self.assertEqual(ret,x)
def equalNumber(self, tel1, tel2):
self.assertEqual(tel1.number, tel2.number)
self.assertEqual(tel1.land, tel2.land)
def testWrongNumber(self):
telnum=Telnumber()
self.assertRaises(InvalidTel, telnum.createNumber, "hallo")
self.assertRaises(InvalidTel, telnum.createNumber, "0?242")
def testNumber(self):
telnum=Telnumber("0345-94103640")
telnum2=Telnumber("+49345/94103640")
telnum3=Telnumber("00493459410364-0")
telnum4=Telnumber("+49(0)345-94103640")
self.assertEqual(telnum.land, "49")
self.assertEqual(telnum.number, "34594103640")
self.equalNumber(telnum, telnum2)
self.equalNumber(telnum, telnum3)
self.equalNumber(telnum, telnum4)
def testEqual(self):
telnum=Telnumber("0345-94103640")
telnum2=Telnumber("+49345/94103640")
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(telnum2 in li,True)
def testHash(self):
telnum=Telnumber("0345-94103640")
self.assertEqual(hash(telnum),hash("004934594103640"))
self.assertNotEqual(hash(telnum),hash("004934594103641"))
def testString(self):
telnum=Telnumber("0345-94103640")
self.assertEqual(str(telnum),"004934594103640")
def testRepr(self):
telnum=Telnumber("0345-94103640")
self.assertEqual(repr(telnum),"<Telnumber 004934594103640>")