Esempio n. 1
0
 def unsets_aliases(self):
     ad = AliasDict()
     ad['realkey'] = 'value'
     ad.alias('myalias', to='realkey')
     eq_(ad['myalias'], 'value')
     ad.unalias('myalias')
     assert 'myalias' not in ad
Esempio n. 2
0
 def allows_aliasing_of_multiple_target_keys(self):
     ad = AliasDict()
     ad.alias(from_='myalias', to=('key1', 'key2'))
     ad['key1'] = ad['key2'] = False
     assert not ad['key1']
     ad['myalias'] = True
     assert ad['key1'] and ad['key2']
Esempio n. 3
0
 def _recursive_aliases(self):
     ad = AliasDict()
     ad.alias('alias1', to='realkey')
     ad.alias('alias2', to='alias1')
     ad['alias2'] = 'value'
     assert ad['alias1'] == ad['alias2'] == ad['realkey'] == 'value'
     return ad
Esempio n. 4
0
 def key_deletion(self):
     ad = AliasDict()
     ad.alias('myalias', to='realkey')
     ad['realkey'] = 'value'
     assert 'realkey' in ad
     del ad['myalias']
     assert 'realkey' not in ad
     assert 'myalias' not in ad
Esempio n. 5
0
 def caused_by_removal_of_target_key(self):
     # TODO: this test probably false-passes if any line but the last
     # raises KeyError by accident...
     ad = AliasDict()
     ad.alias('myalias', to='realkey')
     ad['realkey'] = 'value'
     assert 'realkey' in ad
     eq_(ad['myalias'], 'value')
     del ad['realkey']
     ad['myalias']
Esempio n. 6
0
 def deepcopy_copies_aliases_correctly(self):
     a1 = AliasDict({'key1': 'val1', 'key2': 'val2'})
     a1.alias('myalias', to='key1')
     eq_(a1['myalias'], 'val1')
     a2 = copy.deepcopy(a1)
     assert 'key1' in a2
     eq_(a2['key2'], 'val2')
     a1.unalias('myalias')
     assert 'myalias' not in a1
     assert 'myalias' in a2
     eq_(a2['myalias'], 'val1')
Esempio n. 7
0
 def raise_KeyError_on_access(self):
     ad = AliasDict()
     ad.alias('myalias', to='realkey')
     assert 'realkey' not in ad
     ad['myalias']
Esempio n. 8
0
 def access_to_multi_target_aliases_is_undefined(self):
     ad = AliasDict()
     ad.alias('myalias', to=('key1', 'key2'))
     ad['key1'] = ad['key2'] = 5
     ad['myalias']
Esempio n. 9
0
 def membership_tests(self):
     ad = AliasDict()
     ad.alias('myalias', to='realkey')
     ad['realkey'] = 'value'
     assert 'myalias' in ad
Esempio n. 10
0
 def setup(self):
     self.ad = AliasDict()
Esempio n. 11
0
 def raises_KeyError_on_nonexistent_alias(self):
     ad = AliasDict()
     ad.unalias('lol no')
Esempio n. 12
0
 def setup(self):
     self.a = AliasDict({'key1': 'val1', 'key2': 'val2'})
     self.a.alias('myalias', 'key1')
Esempio n. 13
0
 def allows_aliasing_of_single_target_key(self):
     ad = AliasDict()
     ad.alias(from_='myalias', to='realkey')
     ad['realkey'] = 'value'
     eq_(ad['myalias'], 'value')