doctests to unittests

pull/96/head
Johannes Raggam 2013-03-18 11:45:54 +01:00
rodzic 3f93090c81
commit ece58627fc
2 zmienionych plików z 33 dodań i 37 usunięć

Wyświetl plik

@ -21,45 +21,9 @@ def canonsort_items(dict1, canonical_order=None):
class CaselessDict(dict):
"""
A dictionary that isn't case sensitive, and only uses strings as keys.
"""A dictionary that isn't case sensitive, and only uses strings as keys.
Values retain their case.
>>> from icalendar.caselessdict import CaselessDict
>>> ncd = CaselessDict(key1='val1', key2='val2')
>>> ncd
CaselessDict({'KEY2': 'val2', 'KEY1': 'val1'})
>>> ncd['key1']
'val1'
>>> ncd['KEY1']
'val1'
>>> ncd['KEY3'] = 'val3'
>>> ncd['key3']
'val3'
>>> ncd.setdefault('key3', 'FOUND')
'val3'
>>> ncd.setdefault('key4', 'NOT FOUND')
'NOT FOUND'
>>> ncd['key4']
'NOT FOUND'
>>> ncd.get('key1')
'val1'
>>> ncd.get('key3', 'NOT FOUND')
'val3'
>>> ncd.get('key4', 'NOT FOUND')
'NOT FOUND'
>>> 'key4' in ncd
True
>>> del ncd['key4']
>>> ncd.has_key('key4')
False
>>> ncd.update({'key5':'val5', 'KEY6':'val6', 'KEY5':'val7'})
>>> ncd['key6']
'val6'
>>> keys = ncd.keys()
>>> keys.sort()
>>> keys
['KEY1', 'KEY2', 'KEY3', 'KEY5', 'KEY6']
"""
def __init__(self, *args, **kwargs):

Wyświetl plik

@ -42,3 +42,35 @@ class TestCaselessdict(unittest.TestCase):
self.assertTrue(out,
[('i', 7), ('c', 'at'), ('a', 3.5), ('d', {'x': 'y'}),
('e', [4, 5]), ('l', (2, 3)), ('n', 13), ('r', 1.0)])
def test_CaselessDict(self):
CaselessDict = icalendar.caselessdict.CaselessDict
ncd = CaselessDict(key1='val1', key2='val2')
self.assertEqual(ncd,
CaselessDict({'KEY2': 'val2', 'KEY1': 'val1'}))
self.assertEqual(ncd['key1'], 'val1')
self.assertEqual(ncd['KEY1'], 'val1')
ncd['KEY3'] = 'val3'
self.assertEqual(ncd['key3'], 'val3')
self.assertEqual(ncd.setdefault('key3', 'FOUND'), 'val3')
self.assertEqual(ncd.setdefault('key4', 'NOT FOUND'), 'NOT FOUND')
self.assertEqual(ncd['key4'], 'NOT FOUND')
self.assertEqual(ncd.get('key1'), 'val1')
self.assertEqual(ncd.get('key3', 'NOT FOUND'), 'val3')
self.assertEqual(ncd.get('key4', 'NOT FOUND'), 'NOT FOUND')
self.assertTrue('key4' in ncd)
del ncd['key4']
self.assertFalse(ncd.has_key('key4'))
ncd.update({'key5':'val5', 'KEY6':'val6', 'KEY5':'val7'})
self.assertEqual(ncd['key6'], 'val6')
keys = ncd.keys()
keys.sort()
self.assertEqual(keys, ['KEY1', 'KEY2', 'KEY3', 'KEY5', 'KEY6'])